怎样从字符串中提取数字?(50分)

  • 主题发起人 主题发起人 pandame
  • 开始时间 开始时间
P

pandame

Unregistered / Unconfirmed
GUEST, unregistred user!
比如从“长安路56号”中,提出56,该怎么写程序呢?用什么函数呢?谢谢!
 
function GetNumber(s: string): String;
var
Temp:String;
i:integer;
begin
temp:='';
result:='';
for i:=1 to length(s) do
begin
if not (s in['0'..'9']) then
continue
else
temp:=temp+s;
end;
result:=temp;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:=GetNumber('长安路56号' );
end;
 
copy函数
copy(str,7,2)
 
delphi有个判断汉字和字符的函数是bytetype;
你可以看一下
 
如果是做业务应用的话,建议手边常备一套正则表达式类库 (可参考 http://www.delphibbs.com/keylife/iblog_show.asp?xid=25712 )

例如用TPerlRegEx, 提取字符串中数字的代码是:

RegEx := TPerlRegEx;
try
RegEx.Subject := '长安路56号';
RegEx.RegEx := '/d+';
if RegEx.Match then Result := RegEx.MatchedExpression;
finally
RegEx.free
end;
 
多人接受答案了。
 
后退
顶部