我正在尝试使用以下正则表达式拆分CSV输入:
(?:^|,)(?=[^"]|(")?)"?((?(1)[^"]*|[^,"]*))"?(?=,|$)
数据为
,a,b,c
的行/行导致3个匹配项:,b
,C
我丢失/丢失了
,a
,我不知道需要更改什么。似乎可以使用Python选项工作:
https://regex101.com/r/kW3pQ6/1
任何想法如何为.NET修复它?
这可能会有所帮助:
(?:^|,)(?=[^"]|(")?)"?((?(1)[^"]*|[^,"]*))"?(?=,|$)
Debuggex Demo
最佳答案
为什么不使用Csv NuGet软件包,该软件包考虑了您现在要解决的CSV解析的许多细微差别,以及您尚不知道需要解决的其他细微差别:-)
CsvHelper是一个非常流行的OS软件包:
https://www.nuget.org/packages/CsvHelper
https://github.com/JoshClose/CsvHelper