Java 如何使用正则表达式拆分字符串?
我有一个字符串,应该在Java 如何使用正则表达式拆分字符串?,java,regex,string,split,Java,Regex,String,Split,我有一个字符串,应该在“(点)和”(空格)上拆分。我试过: s.split("[\\s\\.]") 但它不起作用,因为它没有正常拆分此字符串-“123 456.11323 1” 如何更改正则表达式?只需使用“[\\s.]+”作为正则表达式。只需使用“[\\s.]+”作为正则表达式。我想,您想要的是: s.split("[\\s\\.]+"); 注意+。您似乎不想在出现每一个(!)空格或点时进行拆分。您希望匹配所有长度的空格或点组合。这就是为什么您必须尽可能多地匹配这些字符的原因我想,您需要的
“
(点)和”
(空格)上拆分。我试过:
s.split("[\\s\\.]")
但它不起作用,因为它没有正常拆分此字符串-“123 456.11323 1”
如何更改正则表达式?只需使用
“[\\s.]+”
作为正则表达式。只需使用“[\\s.]+”
作为正则表达式。我想,您想要的是:
s.split("[\\s\\.]+");
注意
+
。您似乎不想在出现每一个(!)空格或点时进行拆分。您希望匹配所有长度的空格或点组合。这就是为什么您必须尽可能多地匹配这些字符的原因我想,您需要的是:
s.split("[\\s\\.]+");
注意
+
。您似乎不想在出现每一个(!)空格或点时进行拆分。您希望匹配所有长度的空格或点组合。这就是为什么你必须贪婪地匹配尽可能多的那些字符如果你只在一个字符上分割,你会得到很多空格
s.split("[\\s\\.]+")
将制作"123,"456,"11323,"1"
+
使它将任何空格和点的运行视为单个断点,而不是在相邻空格和点之间返回字符串
由于给定的
“123”
将在字符串的开头和“123”之间拆分,因此结果的两端可能仍然会出现空白字符串。如果只在单个字符上拆分,则会出现大量空白
s.split("[\\s\\.]+")
将制作"123,"456,"11323,"1"
+
使它将任何空格和点的运行视为单个断点,而不是在相邻空格和点之间返回字符串
由于给定的
“123”
将在字符串的开头和“123”之间分割,因此结果的两端可能仍然会出现空白字符串。如果您可以给出一个输入/输出示例,将使问题更清楚。如果您可以给出一个输入/输出示例,将使问题更清楚。