C# 在c语言中拆分逗号分隔的多个字符串#
我有一行来自csv文件,如C# 在c语言中拆分逗号分隔的多个字符串#,c#,asp.net,C#,Asp.net,我有一行来自csv文件,如 "abc@example.com","seattle,US","9999 00000" 预期产出: abc@example.com seattle,US 9999 00000 执行string.Split(“,”)时的实际输出: 如果使用“字符限定列,则可以按”、“ 显示您所做的使用真正的csv解析器而不是字符串。拆分拆分split无法理解您的想法-是否正确地用于输出-如果您需要其他内容,只需编写代码即可。使用(var parser=new TextFieldPa
"abc@example.com","seattle,US","9999 00000"
预期产出:
abc@example.com
seattle,US
9999 00000
执行string.Split(“,”)
时的实际输出:
如果使用“
字符限定列,则可以按”、“
显示您所做的使用真正的csv解析器而不是字符串。拆分拆分
split
无法理解您的想法-是否正确地用于输出-如果您需要其他内容,只需编写代码即可。使用(var parser=new TextFieldParser(“path”)){parser.HasFieldsEnclosedInQuotes=true;parser.Delimiters=new[]{“,”};while(parser.PeekChars(1)!=null){string[]rowFields=parser.ReadFields();}}
顺便说一句,重复的标记问题不是文本限定符“
没有否决。但这不是一个很好的方法。分隔符显然是逗号而不是引号。在这种情况下,您的解决方法是有效的though@TimSchmelter但如果内容中没有逗号,则引号甚至存在如果每行中的每个字段都被引号包围,则在“,”上拆分我觉得很好。这个答案怎么了?
"abc@example.com"
"seattle
US"
"9999 00000"
string input = "\"abc@example.com\",\"seattle,US\",\"9999 00000\"";
string[] result = input.Trim('"').Split(new string[] { "\",\"" }, StringSplitOptions.None);