Autor Beitrag
SteheAufDerLeitung
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Do 30.08.07 12:11 
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
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 78

Windows Vista
D2005 Pers. [de]
BeitragVerfasst: 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... .

ausblenden Quelltext
1:
2:
3:
String1 := 'FEST%';
String2 := 'Teilstring';
String3 := '%NOCHMALFEST';


Dann String 2 durch deinen Text ersetzten und wieder zusammenbauen..

ausblenden Quelltext
1:
2:
String2 := 'BlaBlaBlaBlaBla';
komplettstring := String1 + String2 + String3;

_________________
-·- Es gibt Leute die bringen Freude, wohin sie gehen -·-
-·- und es gibt Leute, die bringen Freude, wenn sie gehen -·-
Jakob Schöttl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: Do 30.08.07 12:37 
da gibts einige String-Befehle:
Insert, Replace, Copy
und Replace ist wohl das was du suchst.
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Do 30.08.07 12:57 
oder du machst das mit Regulären Ausdrücken: Suche in der Entwickler-Ecke REGEXPR
Aber mit Copy, Pos und so weiter bist du mit Sicherheit besser bedient, weil einfacher.

_________________
In the beginning was the word.
And the word was content-type: text/plain.
SteheAufDerLeitung Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Do 30.08.07 14:01 
ausblenden 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.

_________________
Na denn, dann. Bis dann, denn.