java - useDelimiter 忽略空白以及两个特定符号的正确参数

标签 java java.util.scanner

我希望扫描仪忽略三件事:空白、"/""!"useDelimiter 中使用的正确参数是什么?方法?

最佳答案

useDelimiter 采用正则表达式 参数 docs :

pattern - A string specifying a delimiting pattern

因此只需确保字符串采用正则表达式形式即可。

正则表达式中的空格是 \s,将其转义为 \\s/ 仍然是 /! 仍然是 !。然后,您可以使用 | 充当“或”运算符来表示“其中之一”。

具体操作方法如下:

scanner.useDelimiter("\\s|/|!");

如果你想说“连续的空格、斜线和感叹号也算作分隔符”,那么你可以在整个内容中添加一个量词 +:

scanner.useDelimiter("(\\s|/|!)+");

关于java - useDelimiter 忽略空白以及两个特定符号的正确参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45676152/

相关文章:

java - 如何垂直堆叠 AlertDialog 按钮?

java - 如何防止按下 Tab 键时 JTable 返回第一行?

java - 将数据分块同步到服务器会导致 StackoverflowException

java - 使用扫描文件进行练习

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

Java:使用正则表达式从 block 注释中去除斜杠和星号

java - 扫描仪不会等待新的输入

java - 在遍历整个文件后,是否可以将扫描仪重置为文本的第一行?

java - 在 Java 中使用 Scanner 函数时出现意外行为

在 ServletContext 资源 [/WEB-INF/spring-servlet.xml] : 中定义的名称为 'dataSource' 的 Java 无效 bean 定义