这是我倾向于实现的示例输入和输出格式。我有几个解决方案在网上与正则表达式分开工作,但并不满足所有条件。希望有人能帮忙。我需要一个正则表达式分解解决方案。请不要建议图书馆。谢谢。正则表达式分隔逗号分隔符值由双引号括起来
List<string> values = new List<string>();
Regex lineSplit = new Regex("(?:^|,)(\"(?:[^\"]+|\"\")*\"|[^,]*)", RegexOptions.Compiled);
foreach (Match match in lineSplit.Matches(line))
{
values.Add(match.Value.TrimStart(',').Replace("\"", ""));
}
"123","456","789"
123
456
789
"123"","456","789"
123"
456
789
"123"2","456","789"
123"2
456
789
"123",2","456","789"
123",2
456
789
"123","2","456","789"
123
2
456
789
你真的需要一个正则表达式吗?为什么不'line.Replace(“\”“,”“).Split(',');?? –
@FelyppOliveira这不会保留嵌入式报价按照他所需的输出 –
@MatthewWatson我明白你的观点。我错过了这个细节,你的方法效果更好... –