在忽略大小写的情况下,如何检查字符串是否包含子字符串

时间:2019-08-13 21:14:23

标签: dart dart-unittest dart-mock

我正在编写一个使用Mockito模拟依赖项的单元测试,并检查我们是否使用正确的参数调用它。我们应该传递一个字符串,因此我尝试匹配该函数参数,但是如果我们更改措辞,则不对整个字符串进行断言。因此,我只想对消息中的一个单词进行匹配,但是该单词可以在句子的开头或中间,因此可以以大写字母开头。

飞镖匹配器有equalsIgnoringCasecontains,但是我找不到任何能同时处理这两者的匹配器,例如containsIgnoringCase。有什么方法可以检查子字符串,同时也忽略匹配器中的大小写?

2 个答案:

答案 0 :(得分:4)

您可以将contains属性设置为caseSensitive的正则表达式传递到false方法。

string.contains(new RegExp(r'your-substring', caseSensitive: false));

答案 1 :(得分:1)

最简单的方法?这是我在DART中所做的,但是我相信它将适用于所有语言。

 if (string1.toLowerCase().contains(string2.toLowerCase())) {
    //TODO: DO SOMETHING
  }