如何拆分包含任何空格字符作为分隔符的字符串

2022-08-31 04:16:32

需要传递到什么正则表达式模式才能使用所有空格字符(,,,等)作为分隔符将字符串拆分为子字符串数组?java.lang.String.split()' ''\t''\n'


答案 1

一些东西在行

myString.split("\\s+");

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

所以如果我有字符串:

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

这应该产生字符串和,并省略 和 之间的空格。"Hello""World"[space][tab]

正如VonC所指出的,反斜杠应该被转义,因为Java会首先尝试将字符串转义为特殊字符,然后将其发送以进行解析。你想要的是文字,这意味着,你需要通过。它可能会有点令人困惑。"\s""\\s"

等效于 。\\s[ \\t\\n\\x0B\\f\\r]


答案 2

在大多数正则表达式方言中,有一组方便的字符摘要可用于这种事情 - 这些是要记住的好字符摘要:

\w- 匹配任何单词字符。

\W- 匹配任何非单词字符。

\s- 匹配任何空格字符。

\S- 匹配除空格字符以外的任何内容。

\d- 匹配任何数字。

\D- 匹配除数字以外的任何内容。

搜索“正则表达式备忘单”应该会奖励你很多有用的摘要。