通过管道分割字符串的正则表达式跳过空字符串

时间:2018-07-30 08:39:48

标签: c# regex

这是我的正则表达式:

var separator = '|';
Regex csvSplit = new Regex("(?:^|" + separator + ")(\"(?:[^\"]+|\"\")*\"|[^" + separator + "]+)", RegexOptions.Compiled);
var test = csvSplit.Matches("10734|Vls, p|6||1.5");

如您所见,有一个空记录。

这是我得到的: enter image description here

我期待索引3上的空字符串,但是跳过了它。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

尝试使用此正则表达式:

(?:^|(?<=\|))((?:"[^"]*"|[^|])*)(?=\||$)