0

我有一个字符串,

string aString = "a,aaa,aaaa,aaaaa,,,,,";

我想插入列表的地方..但是当我使用以下方法时,

List<string> aList = new List<string>();

aList.AddRange(aString.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries));

MessageBox.Show(aList.Count.ToString());

我得到的计数只有 4,但实际上有 8 个元素,即使 (,) 符号之间的最后一个字符也是空白的。

但是如果我传递如下所示的字符串,

string aString = "a,aaa,aaaa,aaaaa, , , , ,";

它将显示为 8 个元素。请帮助我,程序检索字符串的默认方式是这样的,

a,aaa,aaaa,aaaaa,,,,,

请对此提供帮助,如果我可以在空白区域或任何其他方式中添加空格,这样我就可以将 (,) 符号之间的所有这些字符添加到列表中……甚至是空白区域。谢谢 :)

4

3 回答 3

5

不要使用StringSplitOptions.RemoveEmptyEntries

string aString = "a,aaa,aaaa,aaaaa,,,,,";
var newStr = String.Join(", ", aString.Split(','));
于 2012-10-18T09:05:21.213 回答
1

我认为你必须删除StringSplitOptions.RemoveEmptyEntries

aList.AddRange(aString.Replace(",,", ", ,").Split(new string[] { "," })); 
于 2012-10-18T09:09:51.637 回答
0

您可以Replace在拆分之前只保留空间。

aList.AddRange(aString.Replace(" ", "").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)); 
于 2012-10-18T09:07:04.087 回答