在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.split split 无法理解您的想法 - 对您的输出正常工作 - 如果您需要不同的东西,只需编写代码。 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#中拆分逗号分隔多个字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 SSMS 中,我需要拆分多个列,根据逗号分隔保持数据有序

将分隔字符串拆分为存储过程中的变量[重复]

如何在C#中将带逗号的字符串拆分为两个字符串[重复]

如何从用户输入中拆分逗号分隔的字符串

拆分分隔字符串并删除转义序列[重复]

拆分由逗号分隔的 JSON blob 列表(忽略 JSON blob 中的逗号)[重复]