我正在阅读一个CSV文件,一行显示如下
Context Tenant: {Vendor: 1, Customer: 719046046}","1,664,705.67","","7/11/2017 4:55 PM"
现在我想将其拆分并收集数组中的每个值。
value[0] should be Context Tenant: {Vendor: 1, Customer: 719046046}
value[1] should be 1,664,705.67
value[2] should be 7/11/2017 4:55 PM.
尝试使用Regex和Split
var values = line1.Split(new char[] { '\\', '"' ,','}, StringSplitOptions.RemoveEmptyEntries);
var values = Regex.Split(line1, "\\,");
但是我无法按预期读取该值。请你分享一些亮点。
答案 0 :(得分:0)
这应该可以胜任。此版本将删除空格
string [] n_new = g.Split(new string[] { "\",\""}, StringSplitOptions.RemoveEmptyEntries)
要摆脱起始端"
,您可以在拆分前添加额外的Trim
:
string [] ret = g.Trim('"').Split(new string[] { "\",\""}, StringSplitOptions.RemoveEmptyEntries);
答案 1 :(得分:0)
由于您的某些元素包含逗号我建议在","
上专门拆分,因此请在您的拆分语句中使用它:"\",\""
。所以你最终应该:
var values = Regex.Split(line1, "\",\"");
然后要解决在结果中包含"
的问题,请考虑:
foreach (string value in string[] values)
value = value.Replace("\"\"", "");
删除所有不需要的额外双引号("
)。有点hacky但它应该做的伎俩。