c# - 如何在 C# 中以逗号和换行符拆分字符串?

标签 c# regex split

我正在尝试根据来自文本区域的输入来拆分可以包含逗号或换行符的字符串。我不确定在 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/

相关文章:

c# - MultiDataTrigger 中的 WPF 可见性

c# - 在 C# 中以 O(log n) 最坏情况搜索数组中的特定字符串

c# - FK到同表Code First Entity Framework

php - 正则表达式替换行(如果存在),如果不存在则添加行

C# - 机器有 250 个 ips,我只能从代码中检索 50 个

python - 正则表达式-捕获标点符号和缩写

java - index 和 offset 在 Java Regex 中有不同的含义?

c# - 用不同的标记拆分字符串

c - 将文件中的字符串拆分为c中的数组

java string[] 分割电子邮件 ID