在java中使用正则表达式拆分字符串
我想在java中拆分一个带空格的字符串。我知道下面的代码行可以做到这一点在java中使用正则表达式拆分字符串,java,regex,split,Java,Regex,Split,我想在java中拆分一个带空格的字符串。我知道下面的代码行可以做到这一点 String s[] = str.split("\\\s+"); 这里,split函数接受必须拆分字符串的正则表达式。因此,当我想通过一个或多个空格拆分字符串str时,我应该将\s+作为正则表达式传递,那么为什么要使用\\\s+呢?这将进行拆分 String s[] = n.split("\\s+"); 您不需要第三个斜杠“\”-您会得到编译错误。 第一个“\”是为了逃避第二个“\”。用作“\s”的转义字符。如伊斯梅尔
String s[] = str.split("\\\s+");
这里,split函数接受必须拆分字符串的正则表达式。因此,当我想通过一个或多个空格拆分字符串
str
时,我应该将\s+
作为正则表达式传递,那么为什么要使用\\\s+
呢?这将进行拆分
String s[] = n.split("\\s+");
您不需要第三个斜杠“\”-您会得到编译错误。第一个“\”是为了逃避第二个“\”。用作“\s”的转义字符。如伊斯梅尔所说,不需要第三个反斜杠。 在正则表达式中,您希望使用
\s
,因此在Java中,您还需要避免标记的反斜杠
解决方案:三重反斜杠不能在java中编译。在java中,正确的正则表达式是
\\s+
,因为需要1个反斜杠来转义第二个正则表达式。您需要使用双反斜杠。反斜杠在Java中是一种特殊符号,必须使用转义字符。对于反斜杠,转义字符为双反斜杠