通常、次のように文字列を分割すると、 Hi,One,Two
3 つの区切り項目が返されます。
ただし、最後の項目に追加のカンマが必要な場合Hi,One,Two,
は、4 つの項目が得られます。
文字列を文字列配列に分割していますが、文字列の末尾に余分な区切り文字があるため、配列項目の長さが不均一であることがわかりました。
string test = "[one]\t\t\t[two]\t\t\t";
string[] testArr = test.Split(new char[] { '\t' }, StringSplitOptions.None);
結果は次のとおりです。
[0] = "[one]"
[1] = ""
[2] = "" <- 4 番目の項目がありません
[3] = "[two]"
[4] = ""
[5] = ""
[6 ] = "" <- 4 番目の項目があります
最後のセグメントを除くすべてのセグメントに 4 番目のコンマを追加する必要がない方法はありますか?
編集:
確かに、このコードを簡単に使用できます。
string test = "[one]\t\t\t\t[two]\t\t\t";
string[] testArr = test.Split(new char[] { '\t' }, StringSplitOptions.None);
そして理想的な結果を得る:
[0] = "[1]"
[1] = ""
[2] = ""
[3] = ""
[4] = "[2]"
[5] = ""
[6] = ""
[7 ] = ""
この質問を超えた目的のために、最後の区切り文字の末尾のコンマが1つ少なくなるように文字列を微調整するのではなく、末尾の区切り文字を等しくできることを望んでいました。