C# 如何将字符串拆分为多个字符?
我有这样一个字符串:C# 如何将字符串拆分为多个字符?,c#,.net,string,split,string-operations,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()添加到地址[0],但这真的是正确的方法吗 只需将空格(“|”)添加到搜索模式中,我就可以 无法识别
string ip=“192.168.10.30 | SomeName”
。
我想用|
(包括空格)将其拆分。不幸的是,使用此代码不可能:
string[] address = ip.Split(new char[] {'|'}, StringSplitOptions.RemoveEmptyEntries);
由于这导致了“192.168.10.30”
。我知道我可以将.Trim()
添加到地址[0]
,但这真的是正确的方法吗
只需将空格(“|”
)添加到搜索模式中,我就可以
无法识别的转义序列
Split
方法接受字符数组,因此您也可以在该数组中指定第二个字符。由于使用了removeMptyEntries
这些空格将从最终结果中删除
这样使用:
string[] address = ip.Split(new char[] { '|',' '}, StringSplitOptions.RemoveEmptyEntries);
您将在数组中获得两个项目
“192.168.10.30”
和SomeName
您可以按字符串拆分,而不是按字符拆分:
var result = ip.Split(new string[] {" | "}, StringSplitOptions.RemoveEmptyEntries);
这将为您提供所需的结果。它将在拆分之前重新显示所有空格这可能会对您有所帮助
string[] address = ip.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(s => s.Trim()).ToArray();
您可能想使用:您可以将正则表达式与此模式一起使用。
(?\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})*\\\\*(?\S*)
。例如,获取ip writeregex.Match(input).组[“ip”]
,并获取名称write name而不是ipThechar[]{124',''}
方法更为稳健,因为它涵盖了缺少空格和空条目的情况(这可能与OP有关,也可能与OP无关,但值得了解)
string[] address = ip.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(s => s.Trim()).ToArray();