所以我有一个这样的文本文件

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/

10-10 01:32