C#正则表达式拆分-引号外的逗号
我得到了很多具有以下格式的字符串(实际上是SQL代码段):
('ABCDEFG', 123542, 'XYZ 99,9')
我需要使用C#拆分此字符串,以便获得:
- ‘ABCDEFG’
- 123542
- XYZ 99,9
我最初使用的是simple
Split(',')
,但是由于最后一个参数中的逗号导致输出混乱,因此我需要使用Regex来获取它。问题是我在正则表达式中仍然很笨拙,而且我似乎无法破解模式,主要是因为在该字符串中,数值和字母数字参数都可能随时存在。
我可以根据引号外的每个逗号拆分该字符串吗?干杯
回答:
您可以分割所有逗号,并在它们后面加上偶数个引号,使用以下正则表达式查找它们:
",(?=(?:[^']*'[^']*')*[^']*$)"
你会用它像
var result = Regex.Split(samplestring, ",(?=(?:[^']*'[^']*')*[^']*$)");
以上是 C#正则表达式拆分-引号外的逗号 的全部内容, 来源链接: utcz.com/qa/398797.html