【发布时间】:2015-06-29 14:57:41
【问题描述】:
我需要用一个字符(逗号)来使文本非军事化。但我只想使用逗号作为分隔符,如果它没有用引号封装。
一个例子:
Method,value1,value2
将包含三个值:Method、value1 和 value2
但是:
Method,"value1,value2"
将包含两个值:Method 和“value1,value2”
我不确定如何处理这个问题,因为在拆分我将使用的字符串时:
String.Split(',');
但这会基于所有逗号来消除军事化。这是否可能而不会变得过于复杂并且不必手动检查字符串的每个字符。
提前致谢
【问题讨论】:
-
使用可用的 csv 解析器,例如
VisualBasic.FileIO.TextFieldParser或 this 或 this。 -
Potential dupe,但最高赞成/接受的答案是仅链接的答案...(到 @Tim 刚刚编辑的其中一篇文章:))
-
为了完成..你介意为我的情况举一个 TextFieldParser 的用法示例吗?所以我可以接受作为答案。感谢您的快速回复:)
-
Parse comma seperated string with a complication in C# 的可能重复项 - 复杂之处在于引号