读书人

怎么获取字符串中的数字部分

发布时间: 2012-03-16 16:34:56 作者: rapoo

如何获取字符串中的数字部分
如有字符串:123456高晓红 我想获取除去中文部分后的数字部分,即结果为:123456
23545lina 结果为:23545

dephi中是否有类似这功能的函数?如果没有,应该怎么做写呢?各位大侠,谢谢了!

[解决办法]
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;
[解决办法]

探讨
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;

[解决办法]
探讨
引用:
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


[解决办法]
用正则表达式
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;

读书人网 >.NET

热点推荐