如何在csv字符串中处理双引号和逗号?

时间:2017-03-29 08:07:12

标签: c# .net regex

我正在处理csv文件,我正在将其转换为DataTable。 但它包含如下字符串。

  

“Pull PEG Kit,24”,Ref:P-PEG-24,Exp:2019/03“

以上短语是一个词。我使用了以下正则表达式来获取双引号内的值。

"\".*?\"" 

但在这种情况下,它打破了这个词

  

“拉PEG试剂盒,24”

     

参考:P-PEG-24

     

Exp:2019/03“

但我需要“

这个词
  

Pull PEG Kit,24“,Ref:P-PEG-24,Exp:2019/03

如何使用c#解决这个问题? 请帮我解决这个问题

提前致谢。

1 个答案:

答案 0 :(得分:0)

我可能会在这里遗漏一些东西,但最基本的解决方案会产生你需要的重复:

var regex = new Regex("(.*)");
var str = "Pull PEG Kit, 24\", Ref:P - PEG - 24, Exp: 2019 / 03";
var result = regex.Match(str);

Console.WriteLine(result.Value);

输出:

Pull PEG Kit, 24", Ref:P - PEG - 24, Exp: 2019 / 03

如果周围的双引号是源字符串的一部分:

var regex = new Regex("(.*)");
var str = "\"Pull PEG Kit, 24\", Ref:P - PEG - 24, Exp: 2019 / 03\"";
var result = regex.Match(str);

Console.WriteLine(result.Value);
Console.WriteLine(result.Value.Trim('\"'));

修剪它们。