我得到了很多具有以下格式的字符串(实际上是 SQL 代码段):
('ABCDEFG', 123542, 'XYZ 99,9')
我需要使用 C# 拆分此字符串以获得:
- 'ABCDEFG'
- 123542
- 'XYZ 99,9'
我最初使用的是简单的 Split(',')
,但由于最后一个参数中的逗号对输出造成严重破坏,我需要使用 Regex 来获取它。问题是我在正则表达式方面仍然很菜鸟,我似乎无法破解模式,主要是因为在该字符串中,数字和字母数字参数可能随时存在...
我可以用什么来根据引号外的每个逗号拆分该字符串? 干杯
最佳答案
您可以拆分所有逗号,它们后面有偶数个引号,使用以下正则表达式查找它们:
",(?=(?:[^']*'[^']*')*[^']*$)"
你会像这样使用它
var result = Regex.Split(samplestring, ",(?=(?:[^']*'[^']*')*[^']*$)");
关于C# Regex Split - 引号外的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3147836/