使用C#分割引号外逗号分隔的字符串
对于包含引号外嵌入逗号的参数字符串,可以使用正则表达式方法精确地分割它们。
问题:
将字符串 "('ABCDEFG', 123542, 'XYZ 99,9')" 分割成各个组成部分,其中最后一个参数在引号内包含逗号。
解决方案:
使用正则表达式识别引号对外的逗号,可以实现所需的分割:
<code class="language-c#">",(?=(?:[^']*'[^']*')*[^']*$)"</code>
此正则表达式模式匹配任何不在奇数个引号之前或之后出现的逗号。
实现:
以下代码使用正则表达式分割示例字符串:
<code class="language-c#">string samplestring = "('ABCDEFG', 123542, 'XYZ 99,9')"; string[] result = Regex.Split(samplestring, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
输出:
结果数组将包含各个组成部分:
<code>['ABCDEFG', '123542', 'XYZ 99,9']</code>
以上是如何在 C# 中用引号内的嵌入式逗号分割逗号分隔的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!