我现在要对memo中的数据处理,找出所有的一特定的字符串,然后将这些特定字符串进行替换成另一新的字符串.或者说在这些固定字符串前清添加一新字符串也行.
比方说找出所有的'abcd'字符,将所有的'abcd'字符替换成'oooabcd',
或者在所有的'abcd'前插入字符'ooo'也行.
望各位帮忙!

解决方案 »

  1.   

    首部 function AnsiReplaceText(const AText, AFromText, AToText: string): string; $[StrUtils.pas
    功能 返回字符串AText中用子串AFromText替换成子串AToText的结果
    说明 不区分大小写
    参考 function SysUtils.StringReplace; type SysUtils.TReplaceFlags
    例子 Edit4.Text := AnsiReplaceText(Edit1.Text, Edit2.Text, Edit3.Text);
    ----------------------------------------------------------------------------
    上面那个函数我只在一个句子中用过;要用到文本中去查找;自己想想都感觉恐怖;^_^;
    在文本中查找的例子在delphi的demos文件夹下有个例子;不过源码没有公布;
      

  2.   

    memo1.Text := StringReplace(Memo1.Text, Olds, News, [rfReplaceAll]);
      

  3.   

    你直接往memo.text 里 直接写不就行了,反正要 替换的。
      

  4.   

    《delphi高手突破》一书中有,而且delphi自己也有replacedialog控件
      

  5.   

    StringReplace or replacedialog控件
      

  6.   

    StringReplace or replacedialog控件
      

  7.   

    procedure TForm1.FindDialog1Find(Sender: TObject);
    var
      I, J, PosReturn, SkipChars: Integer;
    begin
      for I := 0 to Memo1.Lines.Count do
      begin
        PosReturn := Pos(FindDialog1.FindText,Memo1.Lines[I]);
        if PosReturn <> 0 then {found!}
        begin
          Skipchars := 0;
          for J := 0 to I - 1 do
            Skipchars := Skipchars + Length(Memo1.Lines[J]);
          SkipChars := SkipChars + (I*2);
          SkipChars := SkipChars + PosReturn - 1;      Memo1.SetFocus;
          Memo1.SelStart := SkipChars;
          Memo1.SelLength := Length(FindDialog1.FindText);
          Break;
        end;
      end;
    end;
    在找到的地方前面加上想加的东西.