【发布时间】:2015-10-08 13:52:33
【问题描述】:
我正在尝试在一个文件内容中搜索一个字符串,我输入了一个字符串。
我尝试使用 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;
然后,我尝试使用相同的代码来查找我有多少个标签:
Pattern tagsP = Pattern.compile("(</");
Matcher tagsM = tagsP.matcher(text);
while(tagsM.find()) //if the text "(</" was found, enter
{
CounterTags++;
}
return CounterTags;
在这种情况下,返回值始终为 0。
【问题讨论】:
-
为什么不起作用?它是否给了您误报,匹配没有
()的</machine>? -
我正在使用的文件是一个 xml 文件。我上传的代码是我的代码的旧版本,所以当我试图找到 () 字符串时,它可以工作,但是当我试图只找到 '(' 字符串来查看我有多少标签时有,结果总是0。
-
您要查找文字字符串
(</machine>),还是只查找</machine>?如果是前者,Ankit的答案中的代码不起作用。 -
两者都可以。在我的xml文件中它会,但是当文件中的文本可以只是
</machine>时它不会,所以“更多”正确的选项是(</machine>) -
请编辑您的问题以阐明您的要求。请务必包含非工作案例和示例输入。