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获取本机的ip地址

Delphi 修改webbrowser的内容

Delphi中多线程分析详解

Delphi 实现数据库读取图片文件

Delphi 获取系统启动文件夹路径

Delphi 验证文件签名

Delphi异常处理的基本原则和方法

Delphi tchart使用经验小结

Delphi获取其它进程窗口句柄的3种方法

Delphi中读取指定内存地址的值

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



打赏

取消

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

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

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

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

评论

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

    正在狠努力加载,请稍候...