不用謝!
1.思路:用TStringList帮助完成;
1string1 := 原串用','替换' '得到的字符串
2astringlist.clear;
3aStringList.delimitedtext := string1;
4result := astringlist.indexof(查找串) >=0
2.思路:同上得到 aStringList
..
aStringList.delete(astringList.indexof(删除串))
string1 := astringlist.delimitedtext;
result :=  string1用' '替换','得到的字符串

解决方案 »

  1.   

    我是這麼解決的,(Edit1 為原字符串'001 002 003...',Edit2為要刪除的字符'007' ,Edit3 為顯示結果
      Edit3.text := copy(Trim(Edit1.text),0,pos(Trim(Edit2.text),Trim(Edit1.text))-1)
                + copy(Trim(Edit1.text),pos(Trim(Edit2.text),Trim(Edit1.text))+4,Length(Trim(Edit1.text))) ;我這個結果隻能一個一個刪除,但是如果我想同時刪除 '007 008 009' 時。我這個辦法就不行了,謝謝 zhxfzhxf1(zhxfzhxf1),但是你說的我不太明白,能再說清楚一點麼!
      

  2.   

    大哥,你能不能用简体中文?我的win98不能显示你的问题!!!
      

  3.   

    如下能同时删除:
    function QueryStr(Str:String);boolean;
    begin
      Result:=True;
      if Pos(Str,T_String)<0 then
        Result:=False;
    end;
    function DeleteStr(Str:String):boolean;
    begin
      Result:=False;
      if Pos(Str,T_String)>=0 then
      begin
        Result:=True;
        Delete(T_String,Pos(Str,T_String),Length(Str));
      end;
    end;
      

  4.   

    eg:
    查找'007' QueryStr('007');
    删除'007' DeleteStr('007');
      

  5.   

    為甚麼要用string呢?
    TStringList處理起來方便多了
      

  6.   

    查找: blazingfire(烈焰) 的方法简单易行,但有如下缺点:在输入不规范时(不符合例子中的规律时),可能..可能得到错误的结果。如输入'3',实际上并与其他子串分离的串,但其结果为true.
    zhxfzhxf1的查找方法要求各个子串用且仅用一个‘ ’分开。如果有其他分隔字符的话,需要用同‘ ’一样用replace替换掉。
    删除方法,同样。
    如果'007 008 009' 表示删除‘007’、‘008’、‘009’子串,而不是连续的‘007 008 009’子串时,各方法都需要分成子串后逐个删除。
    当意义为后者时,请使用 blazingfire(烈焰) 的方法。
    如果能保证查找、删除的输入均为规范形式,如例子中可以归纳为:XXX(X:0-9),应使用blazingfire(烈焰) 的方法;如果不能保证,使用TStringList的方法