Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.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 如何使用正则表达式拆分字符串?_Java_Regex_String_Split - Fatal编程技术网

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”之间分割,因此结果的两端可能仍然会出现空白字符串。

如果您可以给出一个输入/输出示例,将使问题更清楚。如果您可以给出一个输入/输出示例,将使问题更清楚。