根据多个char分隔符分割一个string

我有一个string“4,6,8 \ n9,4”

我想根据和\ n来拆分它

输出数组应该是

4 6 8 9 4 

编辑:

现在我正在从控制台读取string,当我在控制台中input一个string,在代码后面我得到"4,6,8\\n9,4" 。 现在我想分割使用"," and "\\n" 。 我怎样才能改变expression?

使用string.Split(char [])

 string strings = "4,6,8\n9,4"; string [] split = strings .Split(new Char [] {',' , '\n' }); 

编辑

如果你有任何不必要的空项目,请尝试下面 String.Split方法(String [],StringSplitOptions)

 string [] split = strings .Split(new Char [] {',' , '\n' }, StringSplitOptions.RemoveEmptyEntries); 

EDIT2

这适用于您更新的问题。 将所有必要的拆分字符添加到char []

 string [] split = strings.Split(new Char[] { ',', '\\', '\n' }, StringSplitOptions.RemoveEmptyEntries); 
 var s = "4,6,8\n9,4"; var split = s.Split(new char[]{',', '\n'}); 

但是,这必须是一个骗局…

编辑 :解决评论。

此代码:

 static void Main(string[] args) { var s = "4,6,8\n9,4"; foreach (var a in s.Split(new char[] { ',', '\n' })) System.Diagnostics.Debug.WriteLine(a); } 

输出这个:

 4 6 8 9 4 

编辑 :从控制台读取input是不同的。 手动input时\n不同。

 static void Main(string[] args) { var s = "4,6,8\\n9,4"; foreach (var a in s.Split(new string[] { ",", "\\n" }, StringSplitOptions.RemoveEmptyEntries)) System.Diagnostics.Debug.WriteLine(a); } 

另一个select是使用Regex.Split 。 这在拆分序列更复杂时很有用。 例如,如果空格也可以是分隔符的一部分,例如:

 "4,6,8 , 9\\n\\n4" 

然后:

 using System.Text.RegularExpressions; var i = "4,6,8 , 9\n\n4"; var o = Regex.Split(i, @"[,\s\n]+"); // now o is: // new string[] { "4", "6", "8", "9" } 

请注意,使用正则expression式是“更接受” – 它忽略\ n之间的空白“空间”,它会接受“4 6 8 9 4”只是相同的 – 所以上面来显示一个点:有更多比皮肤的一种方法猫。

快乐的编码。

 string tosplit = "4,6,8\n9,4"; var split = tosplit.Split(new Char [] {',', '\n' }); 

以防万一您没有正确打印/查看:

 split.ToList().ForEach(Console.WriteLine); 

你可以做一个string.Replace('\ n',',')后跟string.split(',')?