2014-08-30 86 views
0

如何将字符串拆分为一个或多个空格之间的空格,以保留具有多个空格的效果。Java正则表达式拆分字符串

例如当输入字符串是:

s = "a bc de fg "; 
spl = s.split(" "); 

给我的阵列

{a, bc, de, fg}. 

我如何才能在同一个阵列1或更多的空格之间,像

s = "a bc de  fg "; 

TIA 。

+0

只是使用正则表达式分割字符串'+' – 2014-08-30 02:01:26

回答

3

您可以使用+quantifier表示“一个或多个”。

String s = "a bc de  fg "; 
String[] parts = s.split(" +"); 
System.out.println(Arrays.toString(parts)); // [a, bc, de, fg] 

您也可以考虑使用与任何空格字符匹配的\s

String[] parts = s.split("\\s+"); 
+0

哦。尝试全部用'/'代替'+'! – user3880721 2014-08-30 02:13:38

+0

“*”量词表示“零个或多个” – hwnd 2014-08-30 02:16:38

2

使用下面的正则表达式,

String tok[] = s.split(" +"); 
System.out.println(Arrays.toString(tok)); 

<space>+一个或多个空格只匹配拆分字符串。