我有一个由连续空格组成的字符串,例如
a(double space)b c d (Double space) e f g h (double space) i
分裂像
a
b c d
e f g h
i
目前我正在尝试这样
Regex r = new Regex(" +");
string[] splitString = r.Split(strt);
您可以使用String.Split
:
var items = theString.Split(new[] {" "}, StringSplitOptions.None);
string s = "a b c d e f g h i";
var test = s.Split(new String[] { " " }, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(test[0]); // a
Console.WriteLine(test[1]); // b c d
Console.WriteLine(test[2]); // e f g h
Console.WriteLine(test[3]); // i
另一种方法是使用正则表达式,它允许您在两个字符上分割任何空格:
string s = "a b c d e f g h \t\t i";
var test = Regex.Split(s, @"\s{2,}");
Console.WriteLine(test[0]); // a
Console.WriteLine(test[1]); // b c d
Console.WriteLine(test[2]); // e f g h
Console.WriteLine(test[3]); // i
你可以使用String.Split
方法。
返回一个字符串数组,其中包含此字符串中由指定字符串数组的元素分隔的子字符串。一个参数指定是否返回空数组元素。
string s = "a b c d e f g h i";
var array = s.Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries);
foreach (var element in array)
{
Console.WriteLine (element);
}
输出将是;
a
b c d
e f g h
i
这里一个DEMO
.
使用正则表达式是一个优雅的解决方案
string[] match = Regex.Split("a b c d e f g h i", @"/\s{2,}/", RegexOptions.IgnoreCase);