![]() |
string in einzelne wörter zersetzen
Hi,
Ich will aus einem längeren String (satz) jedes wort herausfiltern und in einen eigenen array of string bringen z.b: "Mir ist fad" Array[0]:='Mir'; Array[1]:='ist'; Array[2]:='fad'; wie kann ich das machen? |
Re: string in einzelne wörter zersetzen
Schau mal
![]() |
Re: string in einzelne wörter zersetzen
Das Problem ist, dass Wörte nicht zwingenderweise nur durch ein bestimmtes Zeichen getrennt sein müssen:
'Das ist eine Frage.Aber was ist die Antwort?Die Antwort ist:Nein.' Wie viele Wörter sind das, wenn man ein leerzeichen als Trenner nimmt? Und wie viele sind es, wenn man nich die Satzzeichen dazu nimmt? ;) Deswegen:
Delphi-Quellcode:
type
TWordDelimiter = set of Char; var WordDelimiter: TWordDelimiter = [#1..#64, #91..#96, #123..#127]; procedure Foo(const s: String; sl: TStrings); var p: PChar; Start: PChar; dummy: String; begin p := PChar(s); while p^ <> #0 do begin if p^ in WordDelimiter then Inc(p) else begin Start := p; while not ((p^ in WordDelimiter) or (p^ = #0)) do Inc(p); SetString(dummy, Start, p - Start); sl.Add(dummy); end; end; end; procedure TForm1.Button1Click(Sender: TObject); const MYTEXT = 'Once upon a midnight dreary, while I pondered, weak and weary'; begin Foo(MYTEXT, Listbox1.Items); end; |
Re: string in einzelne wörter zersetzen
Zitat:
Danke erstmal @ all :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 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