如何用多个字符拆分字符串?

时间:2016-11-10 08:11:59

标签: c# .net string split string-operations

我有一个这样的字符串:string ip = "192.168.10.30 | SomeName"。 我希望通过|(包括空格)将其拆分。不幸的是,使用此代码不可能:

string[] address = ip.Split(new char[] {'|'}, StringSplitOptions.RemoveEmptyEntries);

因为这会导致"192.168.10.30 "。我知道我可以将.Trim()添加到address[0],但这是非常正确的做法吗?

只需在搜索模式中添加空格(' | ')即可获得

  

无法识别的转义序列

4 个答案:

答案 0 :(得分:7)

您可以按字符串分割,而不是按字符分割:

var result = ip.Split(new string[] {" | "}, StringSplitOptions.RemoveEmptyEntries);

答案 1 :(得分:2)

Split方法接受字符数组,因此您也可以在该数组中指定第二个字符。由于您使用RemoveEmptyEntries,因此将从最终结果中删除这些空格。

像这样使用:

 string[] address = ip.Split(new char[] { '|',' '}, StringSplitOptions.RemoveEmptyEntries);

您将在数组中获得两个项目

"192.168.10.30"SomeName

答案 2 :(得分:0)

这可能会为你做到这一点

string[] address = ip.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(s => s.Trim()).ToArray();

答案 3 :(得分:-1)

    String ip = "192.168.10.30 | SomeName";
    ip=ip.replaceAll(" ", "");
    String[] address = ip.split("\\|");

这应该会给你想要的结果。它会在拆分之前重放所有空格