2016-10-01 10 views
1

文字列を分割して最後の分割を除外する方法はありますか?スプリット文字列と最後のスプリットを除外

私のデータは次のようになります:data1,data2,data3,したがって、私は要素を分割した場合、配列の最後の要素は空になるので、分割から除外したいだけです。

今私は、この持っている:

確か
serialNumbers = delimittedSerials.ToString().Split(','); 

私はちょうどそれを残すことができます知っていると私のforループでちょうど最後の要素をスキップするように知っているが、単に除外するための簡単な方法があった場合には思っていたがそれは分割の時に。

答えて

8

あなたがStringSplitOptionsパラメータを使用して、それを分割することができます:コード以下は

data.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); 
+1

を除外するための句は、私は、LINQとのlastIndexOfを使って答えを投稿しようとしていたのLINQを持っています。 ..これはちょうど適切なビルトインウェイです:)。 –

+0

ああ、うわー、彼らはそのオプションを持っていたか分からなかった。それはかなりクールです、ありがとう! – Adjit

+0

ええ、それはsplit関数のもう一つのオーバーロードです。本当に便利ですし、複数の文字に分割することもできます。 – Reynevan

2

は、空のデータ

string input ="data1,data2,data3,"; 

var output = input.Split(',').Where(value => !string.IsNullOrEmpty(value)); 

foreach(string data in output) 
    Console.WriteLine(data); 
+0

これはなぜ' Split'の標準オプションであるのでしょうか? (これはまた、タイトルで尋ねられたように質問に答えるものではありません。 –

+0

ありがとう!それは興味深い示唆であり、知っていれば良いが、他の方法で行っている。 – Adjit

関連する問題