如何将一个字符串拆分为多个字符?

How to split a string by multiple chars?

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

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

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

只需将空格 (' | ') 添加到搜索模式即可得到

Unrecognized escape sequence

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

这样使用:

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

你会得到数组中的两项

"192.168.10.30"SomeName

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

var result = ip.Split(new string[] {" | "}, StringSplitOptions.RemoveEmptyEntries);
    String ip = "192.168.10.30 | SomeName";
    ip=ip.replaceAll(" ", "");
    String[] address = ip.split("\|");

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

这可能对你有用

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