gpt4 book ai didi

delphi - 判断字符串是否不包含数字

转载 作者:行者123 更新时间:2023-12-01 21:59:11 25 4
gpt4 key购买 nike

我需要一些关于函数的帮助。我需要做的是确定字符串是否包含数字。如果是,我只需要字符串中的一个数字,如果不是,我需要其中的整个单词。

例如:

如果我的字符串是'xyz 60',我需要其中的'60',但如果字符串是'xyz',我需要整个字符串:

  function TForm1.FindNumberInString(InString: string): TNumberInString;
var
i, j: Integer;
ST: String;
begin
Result.TNumber := '';
Result.TIsNumber := False;

for i := 1 to Length(InString) do
begin
if (InString[i] in ['0'..'9']) then
begin
Result.TNumber := Result.TNumber + InString[i];
Result.TIsNumber := True;
end else
Result.TNumber := InString;
end;
end;

// TNumberInString is a packed record

TNumberInString = Packed Record
TNumber: string;
TIsNumber: boolean;
end;

谁能帮忙看看会出现什么问题吗?结果始终为 'xyz60',而不是 '60'。我尝试了“if not (InString[i] in...)”,但它也不起作用。

最佳答案

尝试更多类似这样的事情:

function TForm1.FindNumberInString(InString: string): TNumberInString;
var
i, j: Integer;
begin
Result.TNumber := InString;
Result.TIsNumber := False;

for i := 1 to Length(InString) do
begin
if InString[i] in ['0'..'9'] then
begin
Result.TNumber := InString[i];
Result.TIsNumber := True;
For j := i+1 to Length(InString) do
begin
if not (InString[i] in ['0'..'9']) then
Break;
Result.TNumber := Result.TNumber + InString[j];
end;
Exit;
end;
end;
end;

关于delphi - 判断字符串是否不包含数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33223148/

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