Ich habe E-Mail-Betreffzeilen und ich möchte Ticketreferenzen in ihnen finden es könnte die TT-Ref ist wie 12345678. Eine Betreffzeile (String) kann mehrere 8 Ziffern haben Zahlen!Lazarus-Funktion, um 8-stellige Zahlen in einer Zeichenfolge zu finden
Ich war den Code unten verwenden, aber es ist nur die
ersten 8
Ziffern Strippen dann einen Scheck zu tun, wenn die 8 Zeichen lang ist:
function StripNumbers(const aString: string): string;
var
C: char;
begin
Result := '';
for C in aString do
begin
if CharInSet(C, ['0'..'9']) then
begin
Result := Result + C;
end;
end;
end;
Beispiel:
meines String-Variable ist
subject := "yada yada XF12345678 blabla XF87654321 duh XF11.223344"
Funktion GetTTRefs(subject)
"12345678;87654321;"
führen sollte
Vielen Dank für die Antworten.
Dieser Code löscht * die ersten 8 Ziffern * nicht. Es streift nichts ab und es sammelt einfach alle Ziffern der Zeichenkette; es hört nicht bei 8 auf, sondern sammelt von Null bis zu unbegrenzten Ziffern. Du wirst klarer sein müssen, was du verlangst. –
@ ken-white ich weiß, dass es nur alle Nicht-Ziffern-Zeichen aus einer Zeichenfolge entfernt, und ich überprüfe danach, ob das Ergebnis 8 Ziffern lang ist. Ich habe ein Beispiel hinzugefügt. – modzsi