gpt4 book ai didi

string - Delphi从字符串中提取数字

转载 作者:行者123 更新时间:2023-12-02 14:23:08 24 4
gpt4 key购买 nike

我需要使用各种字符串,这些字符串包含字母和数字,我试图从字符串中提取数字(这是我需要的部分),字符串的格式类似于-

猫可以数 123 567,狗也可以”

数字的长度和位置可能有所不同12 34123 4561234 567811111 11111

数字分隔符也可以是空格问号和破折号12-34日12.34所以字符串可以是 EG “the cat can't count, the dogs can 12-67” 或 “the cat can count 1234.5678 so can the dogs”Delphi 有什么聪明的方法可以提取数字吗?或者我必须通过扫描代码中的字符串来完成此操作。

如有任何帮助,我们将不胜感激

谢谢

科林

最佳答案

如果您有 Delphi XE 或更高版本,则可以使用正则表达式。根据 David Heffernan 的回答,这完全未经测试:

function ExtractNumbers(const s: string): TArray<string>;
var
regex: TRegEx;
match: TMatch;
matches: TMatchCollection;
i: Integer;
begin
Result := nil;
i := 0;
regex := TRegEx.Create("\d+");
matches := regex.Matches(s);
if matches.Count > 0 then
begin
SetLength(Result, matches.Count);
for match in matches do
begin
Result[i] := match.Value;
Inc(i);
end;
end;
end;

关于string - Delphi从字符串中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8823292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com