本帖最后由 ffsm1216 于 2009-09-20 02:51:58 编辑

解决方案 »

  1.   

    Function TForm1.cutNumber(str: string):string;
    var
      i:integer;
    begin
      i:=1;  while i<=length(str) do
      if str[i] in ['0'..'9'] then
        delete(str,i,1)
      else
        Inc(i);  result:=str;
    end;
      

  2.   

    调用:Edit1.Text:=cutNumber('是非曲直124');
      

  3.   

    DELPHI没用过  不过也应该有字符串的replace()这个函数吧 
    用正规表现   把数字转换成""   也就达到了去除的目的了
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
      function G(const s: String): String;//uses ComObj
      var
        o: Variant;
      begin
        o := CreateOleObject('VBScript.RegExp');
        o.Global := True;
        o.Pattern := '\d';
        Result := o.Replace(s, '');
      end;begin
      ShowMessage(G('是非曲直124'))
    end;
      

  5.   

    function StringReplace2(s:string):string;
    var i:integer;
    begin
        for i:=0 to 9 do
        begin
            s:=StringReplace(s,inttostr(i),'',[ rfReplaceAll]);
        end;
        result:=s;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
        edit1.Text :=StringReplace2(edit1.Text);
    end;
      

  6.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      Str : String;
      Str1 : String;
      P : PChar;
    begin
      Str := '1fn34gn345erw234';  if length(Str) = 0  then exit;  P := PChar(Str);
      while (P^ <> #0) do
      begin
        if not (P^ in ['0'..'9']) then  Str1 := Str1+P^;
        inc(P);  end;
      ShowMessage(Str1);  
    end;