0

检查 AnsiString 是否等于其他 AnsiString 的最快方法是什么?

目前我这样做是为了检查字符串是否相等:

if AnsiCompareStr(mystring, 'helloworld') = 0 then
  ShowMessage('equal');

还有什么是检查一个 AnsiString 是否包含另一个 AnsiString(不完整检查)的最快方法?

为此,我正在使用:

StrPos(mystring, 'world') <> nil then
  ShowMessage('contains'); 
4

3 回答 3

1

答案是:视情况而定。

这取决于字符串的类型、它们的外观、长度以及您在哪个平台上。

对于任何人在这里提出的任何字符串比较函数,我都可以提出该函数不是最快解决方案的场景。

于 2018-06-11T18:48:07.700 回答
0

AFAIKCompareText()比 快AnsiCompareStr(),但只处理 ASCII 字符。

如果您想更快地测试包含的文本,请查看https://stackoverflow.com/a/1554544/458259

于 2015-09-10T17:14:35.967 回答
0

最快区分大小写的方式是标准比较:

if Str1 = Str2 then (区分大小写) 它比 CompareStr() 快

或 CompareText - 不区分大小写

于 2018-06-11T12:57:16.933 回答