![]() |
Strings zerlegen
Hallo!
Ich weiß, dass es dieses Thema schon häufig gab, doch leider habe ich für mein Problem noch keine Lösung gefunden. Und zwar lese ich eine Textdatei in ein Memo ein. Jede Zeile ist so aufgebaut:
Code:
Nun möchte ich das Wort zwischen den ersten Anführungszeichen auslesen. Das Auslesen geht ja mit Copy und Pos. Aber nun habe ich das Problem, das nicht weiß, wie ich die Länge für den Copy-Befehl hearusbekomme.
{1, "Text"[TABULATOR][TABULATOR], ""}
Vielen Dank für eure Hilfe! |
Re: Strings zerlegen
pos + [F1]
Wurde aber schon zu genüge hier behandelt -> Die Suche dürfte üppig Ergebnisse liefern ;) |
Re: Strings zerlegen
Ich habe ja schon gesucht. Mein Problem ist folgendes: Wie bekomme ich das mit den Tabulator hin? Ich meine, in der Textdatei steht nicht [TABULATOR] sondern es handelt sich um Tabulator.
|
Re: Strings zerlegen
Der Tabulatorsprung hat den ASCII-Code 9 (korrigiert mich bitte falls ich falsch liege). Deshalb:
Delphi-Quellcode:
Greetz
Pos(9, StringVariable)
alcaeus |
Re: Strings zerlegen
Zitat:
Im letzteren Fall kann man ihn mit StringReplace (oder einer effizienteren Procedure) einfach löschen.
Delphi-Quellcode:
s := StringReplace(s, #9, [rfReplaceAll]);
|
Re: Strings zerlegen
...
Delphi-Quellcode:
s:='1, "Text"[TABULATOR][TABULATOR], ""';
repeat position:=pos('"',s); if position>0 then begin delete(s,1,position); position:=pos('"',s); text:=copy(s,1,position-1); delete(s,1,position); end; until position<1; [edit] fehler beseitigt... [/edit] |
Re: Strings zerlegen
Vielen Dank. Es hat geklappt!
|
Re: Strings zerlegen
Hallo
wenn Du häufiger mit Stringzerlegungen zu tun hast, könnte sich die Mühe lohnen, [dp]reguläre Ausdrücke[/dp] zu erlernen. Das Extrahieren des Textes sowie die Ausgabe der ersten Zahl könnte dann zB so aussehen:
Delphi-Quellcode:
with RegExp('(\d+).*?\"([^\"]*)\"') do
if Exec({1, "Text"[TABULATOR][TABULATOR], ""}') then ShowMessage('Number:%d, String:%s', [Match[1], Match[2]]); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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