Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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 scanner和regex删除输入文本中的标点符号,而不是";i、 e.“;_Java_Regex_Java.util.scanner - Fatal编程技术网

如何使用java scanner和regex删除输入文本中的标点符号,而不是";i、 e.“;

如何使用java scanner和regex删除输入文本中的标点符号,而不是";i、 e.“;,java,regex,java.util.scanner,Java,Regex,Java.util.scanner,我如何阅读这个句子并使用scanner解析它以获得下面的输出 输入:“它是红色的,即红色。未读取。” 输出:为红色,即红色未读取 我尝试了下面的方法,但没有删除单词末尾的句点: Scanner lineReader = new Scanner(scanner.nextLine()); lineReader.useDelimiter(("\\s+(\\W*\\s)?")); 编辑:让我更改此要求:如何从输入文本中删除所有标点符号,但不删除两个字母之间的句点(.),例如”(是一个保留字符,如果你真

我如何阅读这个句子并使用scanner解析它以获得下面的输出

输入:“它是红色的,即红色。未读取。”

输出:为红色,即红色未读取

我尝试了下面的方法,但没有删除单词末尾的句点:

Scanner lineReader = new Scanner(scanner.nextLine());
lineReader.useDelimiter(("\\s+(\\W*\\s)?"));

编辑:让我更改此要求:如何从输入文本中删除所有标点符号,但不删除两个字母之间的句点(.),例如

”(
是一个保留字符,如果你真的想匹配
的话,你必须用
\
对它进行转义,否则它会匹配任何符号。谢谢,这确实有效!你能告诉我如何使用它来删除任何其他标点符号吗(请参见编辑)?请参阅我的编辑。您的附加要求使正则表达式更加复杂。最好扩展扫描程序并覆盖next,以便从标记中删除有问题的标点符号。是的,您的解决方案有效,但10个字母的限制将其搞乱。请参阅输入:它是红色的,即庆祝活动,即红色。不可读。只需将限制增加到什么你认为什么是合理的