C# Regex.Split(多个空格)

C# Regex.Split(多个空格),c#,regex,C#,Regex,我有一个例子,我需要用空格分割一个字符串。大多数情况下,我有2个空格,但在某些情况下,当我有一个负数(-)时,只有1个空格 Fresno St. Wyoming 3.00 1.12 2.83 2.51 3.69 -3.85 -8.88 1.20 1.00 -2.60 -2.64 6.90 -0.30 1.00 6.97 0.18 . 1.76 8.00 . Gardner

我有一个例子,我需要用空格分割一个字符串。大多数情况下,我有2个空格,但在某些情况下,当我有一个负数(-)时,只有1个空格

Fresno St. Wyoming 3.00 1.12 2.83 2.51 3.69 -3.85 -8.88 1.20 1.00 -2.60 -2.64 6.90 -0.30 1.00 6.97 0.18 . 1.76 8.00 . Gardner Webb Campbell 5.00 6.83 7.78 7.97 7.61 7.37 6.69 6.70 10.00 6.32 7.90 5.90 5.90 3.00 3.85 6.50 . 9.00 3.00 Holy Cross Boston -11.50 -9.31 -6.21 -6.22 -6.31 -5.22 -7.83 -16.70 -15.00 -11.29 -11.62 -13.40 -8.90 -1.00 -9.16 -3.15 . . . . 我需要用每个数组中相同数量的元素填充和数组

当我有1个空格或2个空格时,如何将字符串拆分为数组元素

此外,为什么这个问题不同于类似的问题。 我不想把“弗雷斯诺”和“圣”分开

那么,对于前两个包含包含空格的“合法”元素的字段,我是否可以对字符串进行不同的拆分

解决方案:


它可能不是最好的,但很有效,我最终使用了String.Substring()。

找到合适的rexex很困难/复杂

相反,我使用了子字符串。下面是我使用的部分代码片段

 string temp1 = foo.Substring(0, 10);
                            al.Add(foo.Substring(0, 19));
                            al.Add(foo.Substring(20, 19));
                            al.Add(foo.Substring(42, 7));
                            al.Add(foo.Substring(49, 7));
                            al.Add(foo.Substring(56, 7));
                            al.Add(foo.Substring(63, 7));
                            al.Add(foo.Substring(70, 7));
                            al.Add(foo.Substring(77, 7));
                           

对不起,问题是什么?更好的办法是在1个空格上吐出,然后修剪每个结果,并忽略任何空值或空值。
Dim splits=input.Split({“c},StringSplitOptions.removeMptyEntries)
这对空格没有任何问题,但我得到了一些只有一个点的元素。您可以使用字符串拆分函数将双空格和单空格定义为分隔符--
string[]separators={“”,“”;var split=str.split(分隔符、StringSplitOptions.RemoveEmptyEntries)添加了显示“Fresno”“St.”不应拆分的示例。