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

如何获取字符串中的数字部分
如有字符串: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;