user1;user2;user3;user4 user1
これらの文字列を分割してオブジェクトに入れることができます。私は使えると思った。C#ストリングを複数のセパレータで分割する
myString.split(";")
しかし、2番目の例ではありません。 、それはそのトリックをしないでしょう。これを変えることができるときには、これを行う最善の方法は何でしょうか?
おかげ
user1;user2;user3;user4 user1
これらの文字列を分割してオブジェクトに入れることができます。私は使えると思った。C#ストリングを複数のセパレータで分割する
myString.split(";")
しかし、2番目の例ではありません。 、それはそのトリックをしないでしょう。これを変えることができるときには、これを行う最善の方法は何でしょうか?
おかげ
あなたは、複数のセパレータを取るオーバーロードを使用することができます。
myString.Split(new[] { ";", " " }, StringSplitOptions.RemoveEmptyEntries);
あなたは角括弧が文字クラスを定義する正規表現
"[ ;]"
を使用することができますが - 括弧の間のいずれかの文字にマッチします。
正規表現のための必要はありませんが。 splitメソッドは、セパレータ
"user1;user2;user3;user4 user1".Split(';', ' ')
出力
string[5] { "user1", "user2", "user3", "user4", "user1" }
あなたは、次のテストに合格しセパレーター
string myString = "user1;user2;user3;user4 user1";
string[] stringSeparators = new string[] { ";", " " };
string[] s = myString.Split(stringSeparators, StringSplitOptions.None);
の配列を取るSplit()
メソッドのオーバーロードを使用することができるのリストを取ることができます!
[TestCase("user1;user2;user3;user4 user1", 5)]
public void SplitString(string input, int expectedCount)
{
Assert.AreEqual(expectedCount, input.Split(new []{";"," "},StringSplitOptions.RemoveEmptyEntries));
}
@Mostafizなぜ新しい行を削除しましたか? –
ops質問に改行がありません。私の考えは – Mostafiz
@Mostafizは以前の編集差分を見て、それは本当に新しい行です;) –