Groovy:检查文本是否包含多次字符串

时间:2017-12-06 07:10:19

标签: java groovy

我想检查单词"test"在日志中是否出现超过1次。 以下代码仅检查单词'test'在字符串中是否出现超过0次。 (它只是检查日志是否包含单词)。

 if (env.logs.contains('test')) {
      xxx
}

如果要让这部分代码检查单词test的多个外观,我需要更改哪些内容?

3 个答案:

答案 0 :(得分:3)

contains()方法只是这样做:

public boolean contains(CharSequence s) {
    return indexOf(s.toString()) > -1;
}

因此,您可以执行此操作以检查该值是否出现多次:

int index = env.logs.indexOf("test");
if ((index > -1) && (env.logs.indexOf("test", index + 1) > -1) ) {
        // do something here
}

答案 1 :(得分:0)

如果条件为真,则递增值

喜欢

int testCount=0;
 if (env.logs.contains('test')) {
  testCount++;
 }

并检查条件

如果testCount> 0然后写下你想要的东西。

答案 2 :(得分:0)

使用匹配器:

def match = (env.logs =~ /test/)
assert match.size() > 1