分割由多个空格分隔的字符串,忽略单个空格。

14
我需要将一个由多个空格分隔的字符串拆分。例如:

"AAAA AAA        BBBB BBB BBB        CCCCCCCC"

我想把它分割成这些部分:

"AAAA AAA"   
"BBBB BBB BBB"
"CCCCCCCC"

我尝试着使用这段代码:

value2 = System.Text.RegularExpressions.Regex.Split(stringvalue, @"\s+");

但是并没有成功,我只想通过多个空格来拆分字符串,而不是单个空格。


项目之间可以有多少个空格? - Robert Harvey
1
需要使用正则表达式吗? - MethodMan
1
它们被超过一个空格分隔开。不管有多少个空格,重点是忽略单个空格。 - Rafael Montero
3个回答

40

+代表"一个或多个",所以单个空格也可以作为分隔符。如果你想要多次重复,使用{m,n}

value2 = System.Text.RegularExpressions.Regex.Split( stringvalue, @"\s{2,}");

{m,n} 表达式要求其前面紧接的表达式匹配mn次,包括mn。只需要一个限制,如果没有上限,则表示"m次或更多重复"。


2
value2 = System.Text.RegularExpressions.Regex.Split( stringvalue, @"\s{2,}");

2
value2 = System.Text.RegularExpressions.Regex.Split( stringvalue, @"\s\s+");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接