使用 Microsoft.VisualBasic.FileIO 中的 TextFieldParser 可以解析 CSV 文件,如下所示:
using (TextFieldParser parser = new TextFieldParser(CSVPath))
{
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(",");
parser.HasFieldsEnclosedInQuotes = true;
while (!parser.EndOfData) { string[] fields = parser.ReadFields(); }
}
但是,这依赖于使用 CSV 文件路径初始化 TextFieldParser。是否有可能产生相同的效果,但同时传入一个包含数据记录本身的字符串?
例如,对于Data1,6.5,"Data3 ""MoreData"""
保存在字符串变量中的 CSV 数据记录,其值为(注意最后一个数据用引号括起来,因为转义引号),我可以将数据转换为字符串数组,如下所示:
[0] = "Data1"
[1] = "6.5"
[2] = "Data3 \"MoreData\""