TStringList.IndexOf:IndexOf中的通配符?
问题我想检索字符串列表中的行号(从文件加载)。
Indexof 似乎完全匹配。有没有办法使用 Indexof 的通配符版本检索行?像 SL.Indexof('? what literal')?
谢谢!
回答
如果您想匹配字符串的某个部分,而不需要任何花哨的通配符(如另一个答案的评论中所示),您可以使用如下简单的函数:
function FindMatchStr(Strings: TStrings; const SubStr: string): Integer;
begin
for Result := 0 to Strings.Count-1 do
if ContainsStr(Strings, SubStr) then
exit;
Result := -1;
end;
如果需要不区分大小写的匹配,可以使用以下命令:
function FindMatchText(Strings: TStrings; const SubStr: string): Integer;
begin
for Result := 0 to Strings.Count-1 do
if ContainsText(Strings, SubStr) then
exit;
Result := -1;
end;
ContainsStr 和 ContainsText 在 StrUtils RTL 单元中定义,遵循标准约定 Str 表示区分大小写的比较,Text 表示不区分大小写。
页:
[1]