Java Groovy:检查文本是否多次包含字符串
我想检查单词Java Groovy:检查文本是否多次包含字符串,java,groovy,Java,Groovy,我想检查单词“test”在日志中出现的次数是否超过1次。 下面的代码只是检查单词'test'在字符串中出现的次数是否超过0次。(它只是检查日志是否包含该单词) 如果条件为真,我必须更改什么才能让这部分代码检查单词test的多个外观?增加一个值 像 int testCount=0; if (env.logs.contains('test')) { testCount++; } 检查情况 如果testCount>0,则编写您想要的内容。方法contains()只执行以下操作: public
“test”
在日志中出现的次数是否超过1次。
下面的代码只是检查单词'test'
在字符串中出现的次数是否超过0次。(它只是检查日志是否包含该单词)
如果条件为真,我必须更改什么才能让这部分代码检查单词
test
的多个外观?增加一个值
像
int testCount=0;
if (env.logs.contains('test')) {
testCount++;
}
检查情况
如果testCount>0,则编写您想要的内容。方法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
}
使用matcher:
def match = (env.logs =~ /test/)
assert match.size() > 1
这不起作用,因为要使
testCount
增加,必须多次调用该函数,如果contains
返回true,则contains
始终会发现test
的第一次出现以无休止的循环结束。
def match = (env.logs =~ /test/)
assert match.size() > 1