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

Bot*_*aps 5 java string split

现在我的代码只用空格分隔单词,但我也想用'.'分隔.和","也是.这是我目前的代码:

for (String words : input.split("\\s+"))
Run Code Online (Sandbox Code Playgroud)

例如,如果用户输入"面包,牛奶,鸡蛋"或"嗯... awkss"它会考虑一个单词,我希望每个单词都是它自己的单词.

虽然我在这里,但我无法得到

input.isAlpha() 
Run Code Online (Sandbox Code Playgroud)

工作要么.

Dar*_*usz 8

您可以使用此正则表达式进行拆分

input.split("\\s+|.+|,+")
Run Code Online (Sandbox Code Playgroud)

或者干脆:

input.split("[\\s.,]+")
Run Code Online (Sandbox Code Playgroud)

请记住,点不必在方括号内转义

  • 方括号中的`\\ s`之后不需要`+`. (2认同)

Pau*_*tha 5

使用括号

for (String words : input.split("[\\s.,]+"))
Run Code Online (Sandbox Code Playgroud)

如果您想要括号中的任何字符,则使用括号,这+意味着字符可以组合一次或多次.创建一个单独的分隔符,即space and periodcomma and space.