你如何分割一串单词并保留空格?
这是代码:
String words[] = s.split(" ");
Run Code Online (Sandbox Code Playgroud)
字符串包含: hello world
代码运行后,单词[]包含: "hello" "" world
理想情况下,它不应该是中间的空字符串,但包含两个空格:words []应该是: "hello" " " " " world
我怎样才能得到这个结果?
Rei*_*eus 14
你可以使用lookahead/lookbehind断言:
String[] words = "hello world".split("((?<=\\s+)|(?=\\s+))");
Run Code Online (Sandbox Code Playgroud)
其中(?<=\\s+)和(?=\\s+)是零宽度组.
如果您可以在一个字符串中同时容忍两个空格,则可以
String[] words = s.split("\\b");
Run Code Online (Sandbox Code Playgroud)
然后单词包含("hello", " ", "world")。