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 加载大文件显示进度条

Delphi opendialog文件过滤类型

Delphi 重启启动计算机的代码

Delphi xe5 中tmemo控件的应用――for android

Delphi把域名转换成ip

dll 的静态调用实例代码

Delphi win10系统已管理员的权限运行应用程序

Delphi 快捷键设置控件: thotkey

Delphi tscrollbar 用于滚动窗口、组件内容

Delphi内存映射 与 映射数据获取

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



打赏

取消

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

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

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

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

评论

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