我有电子邮件主题行,我想在其中找到票证参考,它可能是TT ref就像12345678.一个主题行(字符串)可以有多个8位数字!
我一直在使用下面的代码,但它只是剥离前8个数字,然后检查是否为8个字符长:
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;
示例:
我的字符串变量是
subject := "yada yada XF12345678 blabla XF87654321 duh XF11.223344"
函数GetTTRefs(subject)
应该会产生"12345678;87654321;"
感谢您的回答。
答案 0 :(得分:-2)
function GotTTRefs(Subject:string;Digits:Byte):string;
var
i:integer;
TT:string;
begin
i:=1;
while i <= Length(Subject)-Digits+1 do
begin
if Subject[i] in ['1'..'9'] then
begin
TT:=Copy(Subject,i,Digits);
if (StrToQWordDef(TT, 0) <> 0) then
Result:=Result+TT+';';
end;
inc(i);
end;
end;