所以我有一个像这样的文本文件
1 5 8 d 3 5 7 8 d 4 6 7 8 9 d 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/