如何使用任何空白字符作为分隔符拆分字符串

2022-01-30 00:00:00 string split whitespace java

我需要将什么正则表达式模式传递给 java.lang.String.split() 以使用所有空白字符 (' ' 将字符串拆分为子字符串数组>、' '' ' 等)作为分隔符?

What regex pattern would need I to pass to java.lang.String.split() to split a String into an Array of substrings using all whitespace characters (' ', ' ', ' ', etc.) as delimiters?

推荐答案

有些东西

myString.split("\s+");

这会将所有空格分组为分隔符.

This groups all white spaces as a delimiter.

所以如果我有字符串:

"Hello[space character][tab character]World"

这应该产生字符串 Hello"World" 并省略 [space][tab].

This should yield the strings "Hello" and "World" and omit the empty space between the [space] and the [tab].

正如 VonC 指出的那样,应该转义反斜杠,因为 Java 会首先尝试将字符串转义为特殊字符,然后发送 that 进行解析.你想要的是文字s",这意味着,你需要传递\s".可能会有点混乱.

As VonC pointed out, the backslash should be escaped, because Java would first try to escape the string to a special character, and send that to be parsed. What you want, is the literal "s", which means, you need to pass "\s". It can get a bit confusing.

\s 等价于 [ \t\n\x0B\f\r].

相关文章