delphi 高速替换大文本字符串内容


本文整理自网络,侵删。

 
普通替换:
var
  Str: string;
  i: Integer;
  T1, T2: Integer;
begin
  T1 := GetTickCount;
  try
    for i := 0 to M.Lines.Count - 1 do  //M 加载文本得代码省略自己搞
    begin
      Str := Str + M.Lines[i];
    end;
    T2 := GetTickCount;
   // ShowMessage(Inttostr(T2 - T1));
    M.Lines.BeginUpdate;
    M.Lines.Text := Str;
  finally
    M.Lines.EndUpdate;
  end;
end;

高速替换:


感谢汗血宝宝分享


TFile IOUtils 单元主要就是三个结构: TDirectory、TPath、TFile,
var
  SW: TStopwatch;
  s: string;
begin
  SW := TStopwatch.StartNew;
  s := TFile.ReadAllText('D:\9万行文本.txt',TEncoding.UTF8).Replace(#13#10, '');
  TFile.WriteAllText('D:\9万行文本_.txt', s,TEncoding.UTF8);
  SW.Stop;
  ShowMessage(SW.ElapsedMilliseconds.ToString);
end;

感谢黑夜杀手提供


在提供一个老外得汇编方案:一种高效的自定义字符串替换函数

http://www.delphitop.com/html/zifuchuan/5586.html

相关阅读 >>

Delphi和c++指针详解

Delphi tdirectory.getdirectories获取子目录及文件

delph 自带url编码函数 tnetencoding

Delphi tms web core twebhttprequest使用

Delphi jpg和bitmap互转转换的方法

Delphi 除法 "/" 与 div 的不同

Delphi中使用xmlhttp / xmlhttprequest 避免缓存

Delphi textfile utf8编码读写

Delphi获取网卡mac地址多个方法

Delphi从路径取得文件名的简易方法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...