我正在尝试根据来自文本区域的输入来拆分可以包含逗号或换行符的字符串。我不确定在 C# 中拆分此字符串的语法。 目前我有:
string[] splitString = inputString.Split(','); //WORKS
//string[] splitString = inputString.Split(new string[] { ",","\r\n","\n" }, StringSplitOptions.None); //DOES NOT WORK
最佳答案
因为有些文本使用 \r
换行。
您应该使用下面的代码并删除空条目以使数组更干净。
string[] splitString = inputString.Split(new string[] { ",", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries);
或使用 Regex.Split . (这不会删除空条目。)
String[] splitString = Regex.Split(inputString, "[,\r\n]");
更新
您还可以使用 Regex.Split感谢WiktorStribiżew,删除了空条目的评论。
下面的代码删除了不在字符串开头或结尾的空条目。
String[] splitString = Regex.Split(inputString, "[,\r\n]+");
要消除显示在行首或行尾的空条目,请使用以下代码。
Regex.Split(Regex.Replace(inputString, "^[,\r\n]+|[,\r\n]+$", ""), "[,\r\n]+");
正则表达式语言
如果你想了解更多关于 Regex
的信息,或者它是如何工作的,你可以查看 here以供快速引用。
关于c# - 如何在 C# 中以逗号和换行符拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36200145/