- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 StringReplace 在生成的 XML 中用 char 本身替换 > 和 <,如下所示:
StringReplace(xml.Text,'>','>',[rfReplaceAll]) ;
StringReplace(xml.Text,'<','<',[rfReplaceAll]) ;
问题是替换所有出现的 > 需要太长时间。
您是否有更好的想法来使其更快?
最佳答案
如果您使用的是 Delphi 2009,则使用 TStringBuilder 的此操作大约比使用 ReplaceString 快 3 倍。它也是 Unicode 安全的。
我使用了 http://www.CodeGear.com 中的文本将所有出现的“<”和“>”更改为 “<”
和 “>”
作为我的起点。
包括字符串赋值和创建/释放对象,在我的系统上分别花费了大约 25 毫秒和 75 毫秒:
function TForm1.TestStringBuilder(const aString: string): string;
var
sb: TStringBuilder;
begin
StartTimer;
sb := TStringBuilder.Create;
sb.Append(aString);
sb.Replace('>', '>');
sb.Replace('<', '<');
Result := sb.ToString();
FreeAndNil(sb);
StopTimer;
end;
function TForm1.TestStringReplace(const aString: string): string;
begin
StartTimer;
Result := StringReplace(aString,'>','>',[rfReplaceAll]) ;
Result := StringReplace(Result,'<','<',[rfReplaceAll]) ;
StopTimer;
end;
关于delphi - StringReplace 替代方案可提高性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/139833/
我正在尝试在包含大量数据的 RawByteString 上运行 AnsiStrings.StringReplace,其中一些数据需要替换。它会起作用,除了在 StringReplace 内部它将我的字
Dephi 7 帮助手册提到了 StringReplace... Returns a string with occurrences of one substring replaced by anot
我使用 StringReplace 在生成的 XML 中用 char 本身替换 > 和 ',[rfReplaceAll]) ; StringReplace(xml.Text,'<',' 需要太长
我从客户那里读取文件,我需要处理读取的数据并删除一些不需要的字符。我的函数有效,但我正在尝试改进 FixData 函数以提高速度/性能和可维护性。 是否可以将多个 StringReplace 调用替换
我创建了一个 schematron 规则,以不区分大小写的方式搜索由变量给出的特定文本(由“i”标志提供): ... 哪里 $phrase = '(phrase)' 我希望用户能够使用快速修复并替换文
我正在开发一个小项目,该项目需要我解析 JSON 文件并将结果放入数据库中。我正在使用 SuperOjbect 解析文件并生成结果,但我遇到了一些障碍,需要一些帮助。 这是我需要解析的 JSON 文件
这个问题已经有答案了: DecimalSeparator in SysUtils and System.SysUtils (2 个回答) 已关闭 8 年前。 您好,我一直在编码,到目前为止,在WinX
我是一名优秀的程序员,十分优秀!