如同:vb的 replace(str1,str2)或 SqlServer的substring(str1,str2)函数 
在Delphi中,该如何实现呢?

解决方案 »

  1.   

    function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
      

  2.   

    1、
    首部 function MidStr(const AText: string; const AStart, ACount: Integer): string; $[StrUtils.pas
    功能 返回字符串AText从AStart开始的ACount个字符
    说明 其实就是Copy
    参考 function System.Copy
    例子 Edit3.Text := MidStr(Edit1.Text, SpinEdit1.Value, SpinEdit2.Value);2、
      

  3.   

    AnsiReplaceStr('主字符串','被替换子串','替换后子串');
      

  4.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      S:String;
    begin
      S:='addds';
      S:=StringReplace(S,'ddd','hhh',[rfReplaceAll]);
      ShowMessage(S);
    end;
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    var sd :TReplaceFlags ;
    begin
      Sd :=  [rfReplaceAll, rfIgnoreCase];
      Label1.Caption := StringReplace('asdfds%asdfdsf???sdafsa','a','A',sd);
    end;
      

  6.   

    Const
      str ='把美国人强奸了';
    var
      tmp : string;
    begin
    tmp:=StringReplace(str, '美国人', '日本人', [rfReplaceAll]);
    Showmessage(Tmp)
    // 得到结果"把日本人强奸了".
    End;