Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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中为.split使用多个分隔符_Java_String_Split - Fatal编程技术网

在Java中为.split使用多个分隔符

在Java中为.split使用多个分隔符,java,string,split,Java,String,Split,现在,我的代码仅用空格分隔单词,但我也希望用“.”和“,”分隔。这是我目前的代码: for (String words : input.split("\\s+")) 例如,如果用户输入“面包、牛奶、鸡蛋”或“嗯……笨拙”,就会考虑一个词,我希望每个词都是自己的词。 当我在这里的时候,我不能 input.isAlpha() 也可以使用。使用括号 for (String words : input.split("[\\s.,]+")) 当需要括号中的任何字符时,使用括号,+表示可以将这些字符

现在,我的代码仅用空格分隔单词,但我也希望用“.”和“,”分隔。这是我目前的代码:

for (String words : input.split("\\s+"))
例如,如果用户输入“面包、牛奶、鸡蛋”或“嗯……笨拙”,就会考虑一个词,我希望每个词都是自己的词。 当我在这里的时候,我不能

input.isAlpha() 
也可以使用。

使用括号

for (String words : input.split("[\\s.,]+"))

当需要括号中的任何字符时,使用括号,
+
表示可以将这些字符组合一次或多次。要创建一个分隔符,即
空格和句点
逗号和空格

,可以使用此正则表达式拆分

input.split("\\s+|.+|,+")
或者简单地说:

input.split("[\\s.,]+")
请记住,您可以使用此

mySring = "abc==abc++abc==bc++abc";
String[] splitString = myString.split("\\W+");
正则表达式\W+-->它将根据非单词字符拆分字符串


奇怪的是,\\s+为什么是空白的正则表达式\\\。表示句点,但对于逗号,您只需要逗号?句点是正则表达式中的一个特殊字符;`是转义序列。正如我所说的,试着学习更多关于正则表达式的知识。查找教程或其他内容。@Dariusz如果您已经将
[]
放在
[]
中,那么为什么要将它转义?
不需要在括号中转义,也不需要在方括号中的
+
之后转义。可以使用的正则表达式的规范列表位于-这不是教程,但是还有很多其他教程。
isAlpha
是C语言。在Java中它被称为
isleter
。Read我想在字符串上使用isAlpha(或者java的任何东西),而不是字符。我的编译器告诉我,Isleter只用于字符。谢谢你的链接。嗯,我给你的链接会告诉你一种方法。不是唯一的方法,而是唯一的方法。谢谢!我希望Java中有一个方法,但那也行。