已知strFileName是一个文本文件的全路径名。
strOld是文本文件中要被替换的字符串。
strNew是文本文件中要替换成的字符串。
请教一下,如何替换?谢谢

解决方案 »

  1.   

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

  2.   

    StringToConvert:=StringReplace(strFileName,'strOld','strNew',[rfReplaceAll]);
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    const
      strFileName = 'c:\a.txt';
    var
      ts: TStringList;
    begin
      if FileExists(strFileName) then
      begin
        ts := TStringList.Create;
        try
          ts.LoadFromFile(strFileName);
          ts.Text := StringReplace(ts.Text, 'strOld','strNew',[rfReplaceAll]);
          ts.SaveToFile(strFileName);
        finally
          ts.Free;
        end;
      end;
    end;
      

  4.   

    蓝天,你的程序好像没有改动文件。
    /////////////////////////////////////////
        try
          ts.LoadFromFile(strFileName);
          ts.Text := StringReplace(ts.Text, 'strOld','strNew',[rfReplaceAll]);
          ts.SaveToFile(strFileName);
        finally
          ts.Free;
        end;
    这个是在干什么???
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    const
      strFileName = 'c:\a.txt';
    var
      ts: TStringList;
    begin
      if FileExists(strFileName) then  //文件存在则执行
      begin
        ts := TStringList.Create;
        try
          ts.LoadFromFile(strFileName); //加载文件内容到ts中 
          ts.Text := StringReplace(ts.Text, 'strOld','strNew',[rfReplaceAll]); //替换文件内容,注意:我用的两个字符是常量,你可以自己更改.
          ts.SaveToFile(strFileName); //保存到原文件中.
        finally
          ts.Free;
        end;
      end;
    end;
      

  6.   

    'strOld'、'strNew' 这些是常量,不会没有看出来吧,稍微修改一下就可以了.