PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : String editieren


comastalker
14.05.2002, 15:55
wie kann ich den String
[name]
in
name
umwandeln ? sorry ist ne beschissene Frage, aber es ist wichtig


Felix Kaiser
14.05.2002, 15:57
Ich hab mir für solche Situationen die Funktion ´RemoveChars´ gebastelt:

function RemoveChars(target,chars: string): string;
var
i: integer;
begin
for i:= 1 to Length(chars) do
while Pos(chars[i],target) > 0 do
Delete(target,Pos(chars[i],target),1);
RemoveChars:= target;
end;

In deinem Fall würde RemoveChars(´[Name]´,´[]´) zum gewünschten Ergebnis führen.

sami
14.05.2002, 16:21
kennt delphi kein regex? und auch kein string replace? würd doch viel einfacher gehen.

Schaf
14.05.2002, 17:09
... helpfile ... du meinst also folgendes ding?

function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
ps: zu finden unter
string handling routines
bzw.
string-verarbeitung
aber nicht mit
... (0-terminated/terminiert)
verwechseln ;)

Felix Kaiser
14.05.2002, 18:21
Das wär jetzt Replace, Delphi kennt Tonnen von Stringroutinen, weshalb es kaum möglich ist die Funktionen alle zu kennen. Bis man die aus der Hilfe gefischt hat ist es bei solchen Sachen das einfachste und schnellste sich selbst zu helfen.

@sami: RegEx ist außerhalb von Skriptsprachen ungeeignet, da der Compiler keine Parameter parst und zerlegt und somit Funktionalität für RegEx während der Compilierung bietet und erst zur Laufzeit einen RegEx parsen kostet Rechenzeit, was je nach System und Zweck auch ins Gewicht fallen kann.

sami
14.05.2002, 20:59
guru: war ja auch nur eine der alternativen. wieso ned einfach ein
StringReplace(´[name]´, ´[´, ´´);
StringReplace(´[name]´, ´]´, ´´);
oder in dem explizit gefragten falle wär wohl das schnellste und einfachste, den 1. und letzten char zu löschen. kann kein source geben, weil ich kein delphi mehr kann, aber wär halt sowas wie substring(string, 1, length(string)-1);

Felix Kaiser
14.05.2002, 21:04
So hat man zwei Zeilen Source. Ich definiere aber meine Stringroutinen nicht jedesmal sondern benutze diese hundertfach über eine Unit. In vielen meiner Projekte muss geparst werden und solche Helferlein sind meines Achtens nach ideal beim Parsen.

Ist ja jetzt auch egal ...

Problem gelöst, mehrere Lösungen gepostet, Thema geschlossen.