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 に答える