在c#中拆分逗号分隔多个字符串[重复]
Posted
技术标签:
【中文标题】在c#中拆分逗号分隔多个字符串[重复]【英文标题】:Split comma separated multiple strings in c# [duplicate] 【发布时间】:2017-01-24 13:14:24 【问题描述】:我有一行来自 csv 文件,例如
"abc@example.com","seattle,US","9999 00000"
预期输出:
abc@example.com
seattle,US
9999 00000
我做string.Split(',')
时的实际输出:
"abc@example.com"
"seattle
US"
"9999 00000"
【问题讨论】:
显示你做了什么 使用真正的 csv 解析器而不是 string.splitsplit
无法理解您的想法 - 对您的输出正常工作 - 如果您需要不同的东西,只需编写代码。
using (var parser = new TextFieldParser("path")) parser.HasFieldsEnclosedInQuotes = true; parser.Delimiters = new[] "," ; while (parser.PeekChars(1) != null) string[] rowFields = parser.ReadFields();
顺便说一句 - 在重复标记的问题中不是文本限定符"
【参考方案1】:
如果您使用"
字符来限定列,则可以按","
拆分
string input = "\"abc@example.com\",\"seattle,US\",\"9999 00000\"";
string[] result = input.Trim('"').Split(new string[] "\",\"" , StringSplitOptions.None);
【讨论】:
没有投反对票。但这不是一个很好的方法。分隔符显然是逗号而不是引号。不过,您的解决方法在这种情况下有效 @TimSchmelter 但如果内容中没有逗号,引号甚至存在 如果每一行中的每个字段都用引号括起来,那么“,”的分割对我来说似乎很好。这个答案有什么问题?以上是关于在c#中拆分逗号分隔多个字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章