C#拆分带有多个分隔符

时间:2016-08-21 09:39:57

标签: c# arrays

user1;user2;user3;user4 user1

我想分割这些字符串,以便我可以遍历所有字符串以将它们放入对象中。我想我可以用

myString.split(";")

然而,在第二个例子中,没有; ,所以这不会做的伎俩。当它可以像这样变量时,最好的方法是什么?

由于

5 个答案:

答案 0 :(得分:3)

您可以使用重载多个分隔符:

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

答案 1 :(得分:1)

不需要正则表达式。 split方法可以采用分隔符列表

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

输出

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

答案 2 :(得分:0)

您可以使用正则表达式

"[ ;]"

方括号定义字符类 - 匹配括号中的一个字符。

答案 3 :(得分:0)

您可以使用带有分隔符数组的Split()方法的重载

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

答案 4 :(得分:0)

以下测试通过!

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