2016-08-21 3 views
0
user1;user2;user3;user4 user1 

これらの文字列を分割してオブジェクトに入れることができます。私は使えると思った。C#ストリングを複数のセパレータで分割する

myString.split(";") 

しかし、2番目の例ではありません。 、それはそのトリックをしないでしょう。これを変えることができるときには、これを行う最善の方法は何でしょうか?

おかげ

+0

@Mostafizなぜ新しい行を削除しましたか? –

+0

ops質問に改行がありません。私の考えは – Mostafiz

+0

@Mostafizは以前の編集差分を見て、それは本当に新しい行です;) –

答えて

3

あなたは、複数のセパレータを取るオーバーロードを使用することができます。

myString.Split(new[] { ";", " " }, StringSplitOptions.RemoveEmptyEntries); 
0

あなたは角括弧が文字クラスを定義する正規表現

"[ ;]" 

を使用することができますが - 括弧の間のいずれかの文字にマッチします。

1

正規表現のための必要はありませんが。 splitメソッドは、セパレータ

"user1;user2;user3;user4 user1".Split(';', ' ') 

出力

string[5] { "user1", "user2", "user3", "user4", "user1" } 
0

あなたは、次のテストに合格しセパレーター

string myString = "user1;user2;user3;user4 user1"; 
string[] stringSeparators = new string[] { ";", " " }; 
string[] s = myString.Split(stringSeparators, StringSplitOptions.None); 
0

の配列を取るSplit()メソッドのオーバーロードを使用することができるのリストを取ることができます!

[TestCase("user1;user2;user3;user4 user1", 5)] 
    public void SplitString(string input, int expectedCount) 
    { 
     Assert.AreEqual(expectedCount, input.Split(new []{";"," "},StringSplitOptions.RemoveEmptyEntries)); 
    } 
関連する問題