Einzelnen Beitrag anzeigen

Gutelo

Registriert seit: 29. Sep 2013
152 Beiträge
 
#1

Tip bezueglich TRegEx und TRichedit, mehrzeilige Suche

  Alt 25. Apr 2014, 07:32
Ich habe festgestellt, dass die RegEx Suche (Mode roSingleLine) ueber mehrere Zeilen des RichEdit.Text versagt, wenn man sich den mehrzeiligen Text aus RichEdit.SelText holt. Grund dafuer ist, dass beim Text in RichEdit.SelText die Character #10 nach den Charactern #13 verloren gehen (Zeilenumbruch).

Die #10 Character lassen sich wieder herstellen mit


Delphi-Quellcode:
Str := RichEdit1.SelText;
CorrectedStr := StringReplace(Str,char(#13),char(#13)+char(#10),[rfReplaceAll, rfIgnoreCase]);
Danach einfach RegEx ausfuehren:

Delphi-Quellcode:
  RegExStr := '.*?(\d+).*?';
  RegEx := TRegEx.Create(RegExStr,[roSingleLine,roIgnoreCase]);
  MatchZahl := RegEx.Matches(CorrectedStr);
Vielleicht stolpert ja jemand ueber das gleiche Problem.

Geändert von Gutelo (25. Apr 2014 um 07:45 Uhr)
  Mit Zitat antworten Zitat