StringReplace mit Anhang
Hi!
Ich habe folgendes Problem:
Delphi-Quellcode:
Das sieht dann ja so aus: Ersatzstring "hier steht ne Nummer " <- Anführungszeichen sollen einfach angehängt werden. Habe
Memo1.Lines.Text := StringReplace(Memo1.Lines.Text,'ursprünglicher String','Ersatzstring ",[rfReplaceAll]); //
schon nen bischen gefrickelt, aber hat nicht so wirklich geklappt :? Viele Grüße |
Re: StringReplace mit Anhang
:gruebel:
So?
Delphi-Quellcode:
Oder habe ich das Problem nicht verstanden? :-?
Memo1.Lines.Text := StringReplace(Memo1.Lines.Text,'ursprünglicher String','Ersatzstring "',[rfReplaceAll]) + IntToStr(nummer) + '"';
|
Re: StringReplace mit Anhang
Hi!
Die Nummer weiß ich nicht (wird ausgelesen). Die Nummer steht hinter dem String der ersetzt wird. Im Prinzip soll das letzte Zeichen in der Zeile ein " sein. |
Re: StringReplace mit Anhang
So?
Delphi-Quellcode:
Falls nicht habe ich es immer noch nicht verstanden und es bedarf eines konkreten Beispiels (Zeile vorher -> Zeile nachher), um es mir verständlich zu machen.
Memo1.Lines.Text := StringReplace(Memo1.Lines.Text,'ursprünglicher String','Ersatzstring "' + IntToStr(nummer) + '"'',[rfReplaceAll]);
|
Re: StringReplace mit Anhang
Hi!
Ich versuchs nochmal. Ich bin mir allerdings nicht sicher, ob das mit StringReplace so überhaupt klappt. So kommt ein String von der Schnittstelle: IrgendwasanText234567890 So wird er mit StringReplace umgewandelt (nur der Text!!!): Textgeändert"234567890 So soll es aussehen: Textgeändert"234567890" <- Anführungszeichen angehängt Ich würde da ungern noch ne Schleife anhängen, welche das letzte Zeichen in der Zeile anhängt. Vielleicht gibts da noch ne Möglichkeit :gruebel: Greetz |
Re: StringReplace mit Anhang
Ahhh! :coder2:
Delphi-Quellcode:
Memo1.Lines.Text := StringReplace(Memo1.Lines.Text, 'IrgendwasanText', 'Textgeändert"', [rfReplaceAll]) + '"';
|
Re: StringReplace mit Anhang
Ich würde es eher so machen:
Delphi-Quellcode:
UNgetestet ;)
function ReplaceThisString(s: string): string;
var i: integer; begin for i := 1 to length(s) do begin if s[i] in ['0', '1', '2', '3', '4', '5', '5', '6', '7', '8', '9'] then begin insert(s, '"', i); break; end; s := s + '"'; end; end; edit: :oops: Hab vergessen den Text zu ändern. Eventuell mal vorher StringReplace drüber laufen lassen, dann passt das schon :mrgreen: //edit2: Unsinn entfernt. |
Re: StringReplace mit Anhang
Zitat:
Zitat:
Deine Funktion hat keinen Rückgabewert und macht eigentlich etwas, was nicht verlangt ist, bzw etwas, was auch sehr viel kürzer geht. |
Re: StringReplace mit Anhang
Hi!
Delphi-Quellcode:
Das klappt auch so nicht. In dem Text sind mehrere StringReplace-Routinen.
Memo1.Lines.Text := StringReplace(Memo1.Lines.Text, 'IrgendwasanText', 'Textgeändert"', [rfReplaceAll]) + '"';
wenn ich das so wie bei dem obigen Source mache wird einfach ein " ans Text- ende angehängt. Es soll aber ans Zeilenende. |
Re: StringReplace mit Anhang
Zitat:
Zitat:
Aber das nächste mal sollte ich mir wohl genauer Die Fragestellung durchlesen. Vielleicht versteh ich dann auch, was gemeint ist, und wie ich den Quellcode-Ansatz aufzufassen hab (hab mich da nämlich auch verlesen...) ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz