Nja, in etwas aktuelleren Delphis ist ein TRegEx nun direkt dabei. (ansonsten gibt es dafür kostenlose Units)
Damit kann man den kompletten Suchcode auf 1-3 Zeilen Quellcode zusammenstampfen und braucht sich dann nur noch mit der Intepreation/Behandlung der gefundenen Dinge zu beschäftigen.
Delphi-Quellcode:
uses
System.RegularExpressions;
procedure TForm11.FormCreate(Sender: TObject);
var
M: TMatch;
begin
S := 'abc d ef'#10'xyz';
for M in TRegEx.Matches(S, '[a-z]+') do // kannst dich auch mit M.NextMatch durchhangeln, statt dem FOR
Memo1.Lines.Add(M.Index.ToString + ' ' + M.Value); // M.Groups wenn mit Klammern gearbeitet wurde und Teile davon benötigt werden
if TRegEx.IsMatch(S, '^[a-z]+$', [roIgnoreCase]) then // in S gibt es nur Buchstaben, mindestens Einen