一个无规律的字符串str1:='123098989啊dfdfe',如何判断从字符串中取出数字,得到str2='123098989'?也就是怎么区分判断字符串中的数字和非数字字符?
谢谢

解决方案 »

  1.   

    var
       sel_str,bh_str: string;
       i,j,i_pos:integer;
    begin
      sel_str:=treeview1.Selected.Text;  //执行结果sel_str:='43060001市局机关'
      sel_str:=copy(sel_str,1,10);  //执行结果sel_str:='43060001市局'
      
     for i := 1 to Length(treeview1.Selected.Text)-1  do
       for j:=0 to 9 do
       begin
         if  inttostr(j)=sel_str[i] then i_pos:=i
         else
         begin
           if j=9 then  break;
         end;
       end;
    //执行循环的结果 i_pos:=8  bh_str:=copy(sel_str,1,i_pos);  //执行结果居然是bh_str='' and sel_str='',这让我想不通!end;
    这个代码有什么问题吗?请高手指教!
      

  2.   

    function TForm1.GetNumeric(s: string): string;
    var i:integer;
    begin
      Result:='';
      for i:=1 to Length(s) do
        if s[i] in ['0','1','2','3','4','5','6','7','8','9'] then Result:=Result+s[i];
    end;
      

  3.   

    谢谢 chenylin(陈SIR) ,你的方法明了,简单!