我有一个这样的字符串:string ip = "192.168.10.30 | SomeName"
。
我希望通过|
(包括空格)将其拆分。不幸的是,使用此代码不可能:
string[] address = ip.Split(new char[] {'|'}, StringSplitOptions.RemoveEmptyEntries);
因为这会导致"192.168.10.30 "
。我知道我可以将.Trim()
添加到address[0]
,但这是非常正确的做法吗?
只需在搜索模式中添加空格(' | '
)即可获得
无法识别的转义序列
答案 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("\\|");
这应该会给你想要的结果。它会在拆分之前重放所有空格