web-dev-qa-db-ja.com

単一のスペースを無視して、複数のスペースで区切られた文字列を分割します

複数のスペースで区切られた文字列を分割する必要があります。例えば:

"AAAA AAA        BBBB BBB BBB        CCCCCCCC"

私はそれをこれらに分割したいと思います:

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

私はこのコードで試しました:

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

しかし、成功しませんでした。文字列を単一のスペースではなく、複数のスペースで分割したいだけです。

13
Rafael Montero

+は「1つ以上」を意味するため、1つのスペースが区切り文字として扱われます。複数回要求する場合は、{m,n}を使用してください。

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

{m,n}式では、その直前の式がmからn回まで一致する必要があります。必要な制限は1つだけです。上限がない場合は、「m以上の繰り返し」を意味します。

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