加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – TStringList.IndexOf:indexof中的通配符?

发布时间:2020-12-15 04:21:39 所属栏目:大数据 来源:网络整理
导读:我想在字符串列表中检索linenumber(从文件加载). Indexof似乎完全匹配.有没有办法检索带有通配符版本的Indexof的行?像SL.Indexof(‘?sometext’)这样的东西? 谢谢! 解决方法 如果你想匹配字符串的某些部分,没有任何花哨的通配符,正如你在另一个答案的注
我想在字符串列表中检索linenumber(从文件加载).
Indexof似乎完全匹配.有没有办法检索带有通配符版本的Indexof的行?像SL.Indexof(‘?sometext’)这样的东西?

谢谢!

解决方法

如果你想匹配字符串的某些部分,没有任何花哨的通配符,正如你在另一个答案的注释中指出的那样,那么你可以使用这样一个简单的函数:
function FindMatchStr(Strings: TStrings; const SubStr: string): Integer;
begin    
  for Result := 0 to Strings.Count-1 do
    if ContainsStr(Strings[Result],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[Result],SubStr) then
      exit;
  Result := -1;
end;

ContainsStr和ContainsText在StrUtils RTL单元中定义,并遵循Str的标准约定来表示区分大小写的比较,而Text则表示不区分大小写.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读