比如我有这样一个字符串: 123 - 203 和平大路和平区   北京
我现在想得到一个新的字符串是: 123 和平大路和平区   北京有什么好的方法,谢谢了。

解决方案 »

  1.   


    procedure TForm1.DsFancyButton1Click(Sender: TObject);
    var
      str: string;
    begin
      str:='123 - 203 和平大路和平区  北京';
      str:=Copy(str,1,pos('-',str)-1)+Copy(str,pos('和',str),length(str));
      Showmessage(str);
    end;
      

  2.   

    var
      str: string;
    begin
      str:='123 - 203 和平大路和平区  北京';
      str:=Copy(str,pos('-',str)+1,length(str)-pos('-',str));
      Showmessage(str);
    end;
      

  3.   

    function GetStr(str:string):String;
    var
      ss: TStringList;
    begin
      ss:=TStringlist.create;
      ss.text:=str; // '123 - 203 和平大路和平区  北京';
      ss.delete(1);
      ss.delete(1);
      result:=ss.text;
      ss.free;
    end;
      

  4.   

    上面的有问题,稍微修改了一下
    function GetStr(str:string):String;
    var
      ss: TStringList;
    begin
      ss:=TStringlist.create;
      ss.Delimiter:=' ';
      ss.DelimitedText:=str;
      ss.delete(1);
      ss.delete(1);
      result:=ss.DelimitedText;
      ss.free;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    showmessage(getstr('123 - 203 和平大路和平区  北京'));
    end;
      

  5.   

    function GetStr(str:string):String;
    var
      ss: TStringList;
      i:integer;
    begin
      ss:=TStringlist.create;
      ss.Delimiter:=' ';
      ss.DelimitedText:=str;
      i:=pos('-',ss[0]);
      if i>0 then
        ss[0]:=copy(ss[0],1,i-1);
      result:=ss.DelimitedText;
      ss.free;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    showmessage(getstr('123-203 和平大路和平区  北京'));
    showmessage(getstr('5 北京街 朝阳区 北京市'));
    end;
      

  6.   

    比较简单的就是POS配合copy,具体方法上面的都说了
      

  7.   

    谢谢大家的帮忙,问题基本解决。
    在这里感谢: hys_427   和 jerry8 还有 WANGXUELLD