java统计字符串x的实例,直到找到字符串y为止
我已经尝试了大约一个小时,但只成功地编写了一些只能计数或只能搜索的代码。我的目标是把一些东西放在一起,不仅可以查找特定字符串(我们称之为“STRINGTOFIND”),还可以计算另一个特定字符串(我们称之为“STRINGTOCOUNT”)的实例,直到找到“STRINGTOFIND”
我是这样计算的:
int count = 0;
Scanner scanner = new Scanner("example.xml");
while (scanner.hasNextLine()) {
String nextToken = scanner.next();
if (nextToken.equalsIgnoreCase("STRINGTOCOUNT"))
count++;
}
下面是我如何找到(我想找到它的路线):
int lineN = 1; //set to 1 for the loop to return correct line number
Scanner scanner = new Scanner("example.xml");
while (scanner.hasNextLine()) {
lineNum++;
if("STRINGTOFIND".equals(scanner.nextLine().trim())) {
System.out.println("found on line: "+lineNum);
}
}
我想寻找STRINGTOFIND,得到它的行号,让第一台扫描仪只计算STRINGTOCOUNT,直到那一行,但遗憾的是,我的编程技能还不够。所以我的问题是,既然我已经有了代码来做我想做的事情中的一件,我该如何组合这些呢
# 1 楼答案
只需在循环中使用两个if语句
此代码将统计与“STRINGTOCOUNT”匹配的行数,直到找到与“STRINGTOFIND”匹配的行,或者文件不再有未读行(lineNum将包含发生此情况的行号)