我正在尝试在文件内容中搜索一个String,我将其放入String中。
我尝试使用适用于此案例的sudo pip install -U setuptools
和Pattern
:
Matcher
然后,我尝试使用相同的代码来查找我有多少个标签:
Pattern p = Pattern.compile("(</machine>)");
Matcher m = p.matcher(text);
while(m.find()) //if the text "(</machine>)" was found, enter
{
Counter++;
}
return Counter;
在这种情况下,返回值始终为0.
答案 0 :(得分:5)
尝试使用以下代码,顺便说一句,不要使用Pattern
: -
String actualString = "hello hi how(</machine>) are you doing. Again hi (</machine>) friend (</machine>) hope you are (</machine>)doing good.";
//actualString which you get from file content
String toMatch = Pattern.quote("(</machine>)");// for coverting to regex literal
int count = actualString .split(toMatch, -1).length - 1; // split the actualString to array based on toMatch , so final match count should be -1 than array length.
System.out.println(count);
输出: - 4
答案 1 :(得分:3)
您可以使用Apache commons-lang
util库,完全有一个函数countMatches:
int count = StringUtils.countMatches(text, "substring");
此功能也是零安全的。 我建议你去探索Apache commons库,它们提供了许多有用的常用工具方法。