我有一个所有字段都引用文本的 CSV 文件。我的问题是我在引号内有如下引号。
"John Doe","I have a 17" screen","Something "A" something else",....
我已经尝试过 Microsoft.VisualBasic.FileIO 和 LumenWorks.Framework.IO.Csv 并且两者都不允许在这些字段中使用引号。
如果您没有选择在源文件中使用正确的双引号并且需要手动解析它,这可能会对您有所帮助:
var split = theCsv.Split(',');
var noQuotesCollection = split.Select(p =>
{
if (p.StartsWith("\"") && p.EndsWith("\"") && p.Length > 1)
return p.Substring(1, p.Length - 2);
return p;
});
为了在 CSV 文件中有引号,您必须使用双引号。
这是一个示例
"这里有一些文字","这里还有一些文字","这里有一些带引号的文字, ""Hello World"""
您是否尝试过在 "," 上拆分字符串?假设这在您应该工作的文件中是一致的。当然,如果你在一个字段中有一个内部的“,”你就不走运了。
检查此 SO 线程以获取拆分多个字符的示例。