创建一个S:TStringList;
  S:=TStringList.create;
打开文件 
   S.loadfrom('E:\temp.txt');
在用ReplaceDialog替换,
下面是ReplaceDialog的一个例子,但如果你愿意的话,可以自己作一个替换函数
procedure TForm1.ReplaceDialog1Replace(Sender: TObject);var
  SelPos: Integer;
begin
  with TReplaceDialog(Sender) do
  begin
  { Perform a global case-sensitive search for FindText in Memo1 }
    SelPos := Pos(FindText, Memo1.Lines.Text);
    if SelPos > 0 then
    begin
      Memo1.SelStart := SelPos - 1;
      Memo1.SelLength := Length(FindText);
      { Replace selected text with ReplaceText }
      Memo1.SelText := ReplaceText;
    end
    else MessageDlg(Concat('Could not find "', FindText, '" in Memo1.'), mtError, [mbOk], 0);  end;end;

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      f: TFileStream;
      P: Pointer;
      s: String;
    begin
      f := TFileStream.Create('h:\test.txt',fmOpenRead);
      GetMem(P,f.Size);
      f.Read(P^,f.Size);
      s := PChar(P);
      FreeAndNil(f);
      s := StringReplace(s,'"','+"',[rfReplaceAll]);
      P := PChar(s);
      f := TFileStream.Create('h:\test.txt',fmOpenWrite);
      f.Write(P^,Length(s));
      FreeMem(P);
      FreeAndNil(f);
    end;—————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
    I.Desire := '加不加分随你';
    —————————————————————————————————
        
      

  2.   

    直接用Delphi的字符替换函数不就可以了吗,例如:
    s := StringReplace(s, '"', '+"', [rfReplaceAll]);
    上面的rfReplaceAll表示替换全部。函数参数如下:
    StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;