function MoneyToInt(const sMoney:string):String; var I:Word; sResult: string; begin sResult:=''; if sMoney<>'' then for I :=1 to Length(sMoney) do if (sMoney[I] in ['0'..'9'])then sResult := sResult + sMoney[I]; try Result:=sResult; except Result:=''; end; end;
var
I:Word;
sResult: string;
begin
sResult:='';
if sMoney<>'' then
for I :=1 to Length(sMoney) do
if (sMoney[I] in ['0'..'9'])then
sResult := sResult + sMoney[I];
try
Result:=sResult;
except
Result:='';
end;
end;
是这样预处理一下,再转好了
不过,这个过程可能会把'123abc789'转成'123789',可能不符合需求
需要加上选项:数字后出现非数字,是否立即结束
procedure TForm1.Button1Click(Sender: TObject);
var
reg: TPerlRegEx;
begin
reg := TPerlRegEx.Create(nil);
reg.Subject := '123456高晓红';
reg.RegEx := '[^0-9]';
reg.ReplaceAll;
ShowMessage(reg.Subject);
FreeAndNil(reg);
end;