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


当前回答

String str = "Hello   World";
String res[] = str.split("\\s+");

其他回答

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

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

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

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

只匹配空白字符。

\d -匹配任何数字。

D -除数字以外的任何东西都可以匹配。

搜索“Regex Cheatsheets”,你会得到很多有用的摘要。

为了让它在Javascript中工作,我必须做以下工作:

myString.split(/\s+/g)
String str = "Hello   World";
String res[] = str.split("\\s+");

因为它是一个正则表达式,我假设你也不会想要非字母数字字符,如逗号,点,等,可以被空格包围(例如。“one, two”应该给出[one][two]),它应该是:

myString.split(/[\s\W]+/)

“\\s+”应该可以