我正在尝试计算html文件中div标签的出现次数。当我搜索div
时,我得到2,而对于DIV
,我得到1650.理想情况下,当我使用sHtml.toUpperCase()
,然后搜索DIV
时,我应该 1652 即可。但我得到 1656 。这可能会出现什么问题?
/********* Counting occurences of div **************/
String findString = "DIV";
int lastIndex = 0;
int count = 0;
while (lastIndex != -1) {
lastIndex = sHtml.indexOf(findString, lastIndex);
if (lastIndex != -1) {
count++;
lastIndex += findString.length();
}
}
System.out.println("Count of div = " + count);
答案 0 :(得分:2)
你正在拾取之前混合的子串 - 比如Div
。不过,这不是计算"div"
s的好理由,因为您会选择较长的单词(例如Division
或Divorce
)。
如果您想要更好的计数,可以使用简单的正则表达式进行计数:
"[</]div[ />]"
此正则表达式将匹配前面有div
或<
的{{1}},后跟空格/
或/
:< / p>
>
答案 1 :(得分:1)
通过排除过程,您必须同时拥有Div
,DIv
,DiV
或dIV
的组合。您的文字也可能包含一个带有 div 的单词(例如 long division )。