-1

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

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

因为这导致"192.168.10.30 ". 我知道我可以添加.Trim()address[0]但这真的是正确的方法吗?

只需将空格(' | ')添加到搜索模式中,我就会得到一个

无法识别的转义序列

4

4 回答 4

10

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

var result = ip.Split(new string[] {" | "}, StringSplitOptions.RemoveEmptyEntries);
于 2016-11-10T08:17:16.270 回答
2

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

像这样使用:

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

您将在数组中获得两项

"192.168.10.30"SomeName

于 2016-11-10T08:14:42.463 回答
0

这可能对你有用

string[] address = ip.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(s => s.Trim()).ToArray();
于 2016-11-10T08:21:38.697 回答
-2
    String ip = "192.168.10.30 | SomeName";
    ip=ip.replaceAll(" ", "");
    String[] address = ip.split("\\|");

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

于 2016-11-10T08:18:50.680 回答