Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Teil eines Strings ersetzen..
SteheAufDerLeitung - Do 30.08.07 12:11
Titel: Teil eines Strings ersetzen..
Hallo!!
Ich habe einen String, beispielsweise folgender Art:
'FEST%Teilstring%NOCHMALFEST'
Sicherlich gibt es doch eine Funktion, mit der man '%Teilstring%' durch 'BLA' oder 'BlaBlaBlaBlaBlaBlaBla' ersetzen kann, oder?
Wichtig ist, dass der neue String nicht die gleiche Länge wie der alte '%Teilstring%' hat.
Mit Delete() kann ich einen Teilstring entfernen. Mit Insert() kann ich einen einfügen. Gibt es denn aber keine Funktion, die etwas 'replaced'?? Replace() gibts nämmüsch nüsch.. ;-)
Grüße
Sebastian
azrael_7 - Do 30.08.07 12:17
Ist der Teilstring immer mit % umrahmt?
Wenn ja, wär eine Idee, den kompletten String in drei teile zu zerlegen - Anhand der %-Zeichens lassen sich die Teilstrings finden... .
Quelltext
1: 2: 3:
| String1 := 'FEST%'; String2 := 'Teilstring'; String3 := '%NOCHMALFEST'; |
Dann String 2 durch deinen Text ersetzten und wieder zusammenbauen..
Quelltext
1: 2:
| String2 := 'BlaBlaBlaBlaBla'; komplettstring := String1 + String2 + String3; |
Jakob Schöttl - Do 30.08.07 12:37
da gibts einige String-Befehle:
Insert, Replace, Copy
und Replace ist wohl das was du suchst.
matze - Do 30.08.07 12:57
oder du machst das mit Regulären Ausdrücken:
REGEXPR
Aber mit Copy, Pos und so weiter bist du mit Sicherheit besser bedient, weil einfacher.
SteheAufDerLeitung - Do 30.08.07 13:03
Titel: So isses!!
Habs auch genauso gemacht. Die Strings sind immer von %-Zeichen umrahmt. Hab die Positionen ermittelt, mit Delete() deleted und geInsert()ed :-D
Passt so - wunderbar! Dankeschön..
alzaimar - Do 30.08.07 14:01
Delphi-Quelltext
1:
| TheLoesung := StringReplace('Foo%WegDamit%bar','%WegDamit%','>HerDamit<',[rfReplaceAll, rfCaseInsensitive]); |
Also: StringReplace (S1,S2,S3, Flags) ersetzt Vorkommen des Strings S2 in S1 durch S3.
Wenn rfReplace in Flags enthalten ist, dann werden ALLE Strings ersetzt.
Wenn rfCaseInsensitive in Flags enthalten ist, dann ist die Groß/Kleinschreibung egal.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!