![]() |
Text ersetzen
Hat jemand eine Funktion die mir in einem String nach einem Char sucht und diesen durch einen anderen String ersetzt? Der Char soll nur ersetzt werden, wenn er nicht mehrmals genau hinereinander auftritt. Wenn er 2x hintereinader auftritt soll ein Char entfernt werden.
Beispiele Replace(s, '|', #13#10) Das ist ein Test|und das auch. --> Das ist ein Test#13#10und das auch. Das ist ein Test||und das auch. --> Das ist ein Test|und das auch. Das ist||ein Test|und das|||auch. --> Das ist|ein Test#13#10und das|#13#10auch. |
Re: Text ersetzen
ich glaube, diese Funktion selber zu schreiben hätte dich weniger Zeit gekostet als dein Beitrag.....
:gruebel: Roderich |
Re: Text ersetzen
Die Funktion heißt StringReplace.
Guckst du ![]() Dann noch ein bisschen mit Pos und Delete basteln. Dann sollte das Problem behoben sein. |
Re: Text ersetzen
@Jasocul
Das Problem ist wohl etwas komplexer. Ich glaube das läuft auf Parsen hinaus. Zeichen für Zeichen durchsuchen und wenn Zeichen = | dann wenn Position + 1 ungleich | ist, das Zeichen mit #13#10 ersetzen :-) |
Re: Text ersetzen
Ich würde das ja einfach so machen :gruebel: :
Delphi-Quellcode:
AnsiReplaceStr(s, '||', #255); //255 als Zwischenspeicher
AnsiReplaceStr(s, '|', #10#13); AnsiReplaceStr(s, #255, '|'); |
Re: Text ersetzen
Oder einfach
![]() |
Re: Text ersetzen
Zitat:
Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz