所以我有一个这样的文本文件
1 5 8
D 3 5 7 8
D 4 6 7 8 9
第2天
D 2 4 7 9 8 5
我一直想做的就是让扫描仪读取,直到看到第一个“ D”,然后处理随后的所有数字,直到碰到第二个“ D”。下次扫描仪寻找起点时,这是一个问题这将是第三个“ D”
任何帮助深表感谢。
最佳答案
您可以让the Scanner use "D" as the delimiter
:
public static void main(String[] args) {
String input = "1 5 8 D 3 5 7 8 D 4 6 7 8 9 D 2 D 2 4 7 9 8 5";
Scanner sc = new Scanner(input).useDelimiter("D");
while(sc.hasNext()) {
sc.next(); // "1 5 8", "3 5 7 8", ...
}
}
目前尚不清楚是否要跳过前导数字,但是如果要这样做,只需在循环之前调用next()即可。
关于java - 使用字符作为扫描仪的起点和终点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25826257/