C#Regex Split - 引号外的逗号

C#Regex Split - 引号外的逗号

我有很多字符串(实际上是SQL代码段),格式如下:

('ABCDEFG', 123542, 'XYZ 99,9')

我需要使用C#拆分此字符串,以获得:

  • 'ABCDEFG'

  • 123542

  • 'XYZ 99,9'

我最初使用的是一个简单的Split(','),但由于最后一个参数中的逗号导致输出中的破坏,我需要使用Regex来获取它。问题是我在正则表达式中仍然相当无趣,我似乎无法破解模式主要是因为在该字符串内部,数字和字母数字参数可能随时存在......

我可以用什么来根据引号之外的每个逗号分割该字符串?干杯


函数式编程
浏览 649回答 3
3回答

哈士奇WWW

您可以拆分所有逗号,它们后面都有偶数引号,使用以下正则表达式来查找它们:",(?=(?:[^']*'[^']*')*[^']*$)"你会喜欢它var result = Regex.Split(samplestring, ",(?=(?:[^']*'[^']*')*[^']*$)");
打开App,查看更多内容
随时随地看视频慕课网APP