Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java useDelimiter忽略空白以及两个特定符号的正确参数_Java_Java.util.scanner - Fatal编程技术网

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

Java useDelimiter忽略空白以及两个特定符号的正确参数,java,java.util.scanner,Java,Java.util.scanner,我希望扫描仪忽略三件事:空白、“/”和“!”。 在useDelimiter方法中使用的正确参数是什么 扫描仪的分隔符只是一个模式,因此您可以使用以下内容: sc.useDelimiter("[\\s/!]*"); useDelimiter采用正则表达式参数: 模式-指定定界模式的字符串 所以只要确保字符串是正则表达式形式 正则表达式中的空格是\s,将其转义为\\s/仍然是/和仍然是。然后使用|充当“or”操作符,表示“其中一个” 以下是如何做到这一点: scanner.useDelimiter

我希望扫描仪忽略三件事:空白、
“/”
“!”

useDelimiter
方法中使用的正确参数是什么

扫描仪的分隔符只是一个模式,因此您可以使用以下内容:

sc.useDelimiter("[\\s/!]*");

useDelimiter
采用正则表达式参数:

模式
-指定定界模式的字符串

所以只要确保字符串是正则表达式形式

正则表达式中的空格是
\s
,将其转义为
\\s
<代码>/仍然是
/
仍然是
。然后使用
|
充当“or”操作符,表示“其中一个”

以下是如何做到这一点:

scanner.useDelimiter("\\s|/|!");
如果您想说“连续的空格、斜杠和感叹号也算作分隔符”,那么您可以在整个事件中添加一个量词
+

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

为什么要使用
#
?我想给扫描仪一些类似“Anna Mills/Female/18”的东西,然后使用System.out.println(scan.next())在单独的行中获取每个单词。所以扫描器应该忽略空白和“/”符号。我使用了您建议的代码,但它没有这样做……出于某种原因,我认为OP使用了
作为可能的分隔符。打算使用
/
-已编辑和修复。