如何在c#中的逗号和换行符上拆分字符串?

kyl*_*_13 1 c# regex split

我正在尝试根据textarea的输入拆分一个可以用逗号或换行符输入的字符串.我不确定在c#中拆分此字符串的语法.目前我有:

string[] splitString = inputString.Split(','); //WORKS
//string[] splitString = inputString.Split(new string[] { ",","\r\n","\n" }, StringSplitOptions.None); //DOES NOT WORK
Run Code Online (Sandbox Code Playgroud)

J3s*_*oon 7

由于某些文本\r用于新行.

您应该使用下面的代码并删除空条目以使阵列更清洁.

string[] splitString = inputString.Split(new string[] { ",", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries);
Run Code Online (Sandbox Code Playgroud)

或使用Regex.Split.(这不会删除空条目.)

String[] splitString = Regex.Split(inputString, "[,\r\n]");
Run Code Online (Sandbox Code Playgroud)

更新

由于WiktorStribiżew的评论,您还可以使用Regex.Split删除空条目.

下面的代码删除不在字符串开头或结尾的空条目.

String[] splitString = Regex.Split(inputString, "[,\r\n]+");
Run Code Online (Sandbox Code Playgroud)

要消除显示在行的开头或结尾的空条目,请使用下面的代码.

Regex.Split(Regex.Replace(inputString, "^[,\r\n]+|[,\r\n]+$", ""), "[,\r\n]+");
Run Code Online (Sandbox Code Playgroud)

正则表达式语言

如果您想了解更多信息Regex或如何工作,可以在此处查看以获得快速参考.