Java 中的 Scanner 类提供了 useDelimiter 方法,允许您指定分隔符(字符或模式)来分隔代币。然而,使用分隔符可能会让初学者感到困惑。让我们用更简单的术语来分解它。
考虑片段:
sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
在此示例中,分隔符定义为逗号 (",") 和回车符后跟换行符 ("\ r\n”)。扫描器将使用此分隔符来分隔数据文件中的标记。
您在 useDelimiter 中指定的分隔符是正则表达式。正则表达式是用于匹配字符或序列的模式。分隔符“,|\r\n”指定标记以逗号或回车符结尾,后跟换行符。
让我们举个例子:
String input = "1 fish 2 fish red fish blue fish"; Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*"); System.out.println(s.nextInt()); // prints: 1 System.out.println(s.nextInt()); // prints: 2 System.out.println(s.next()); // prints: red System.out.println(s.next()); // prints: blue s.close();
在此示例中,分隔符为“\sfish\s”。 \\s* 表示单词“fish”之前或之后可以有任意数量的空格(包括零)。这意味着扫描器将匹配并提取“1 条鱼”、“2 条鱼”等标记。
请记住,在 Java 中使用 useDelimiter 时,了解正则表达式非常重要表达式。您可以在线找到详细的教程,以增强您对正则表达式模式的了解。通过正确理解分隔符和正则表达式,您可以使用 Scanner 类高效地解析和提取文本文件中的数据。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3