首页 > 后端开发 > C++ > 如何在 C# 中拆分逗号分隔的字符串,同时忽略引号内的逗号?

如何在 C# 中拆分逗号分隔的字符串,同时忽略引号内的逗号?

Linda Hamilton
发布: 2025-01-07 21:29:41
原创
919 人浏览过

How Can I Split a Comma-Separated String in C# While Ignoring Commas Within Quotes?

C# 正则表达式拆分:处理引用字符串中的逗号

处理引用文本中的逗号时,标准 C# 基于逗号的字符串拆分会失败。 正则表达式提供了一个强大的解决方案。

考虑将字符串“('ABCDEFG', 123542, 'XYZ 99,9')”拆分为三个组成部分:'ABCDEFG', 123542 和 'XYZ 99,9'。

以下正则表达式标识逗号外部引用的部分:

<code class="language-csharp">",(?=(?:[^']*'[^']*')*[^']*$)"</code>
登录后复制

此表达式确保只有前面没有偶数个单引号的逗号(表示闭引号部分)才用作分割点。

以下是如何将其与 Regex.Split 一起使用:

<code class="language-csharp">string inputString = "('ABCDEFG', 123542, 'XYZ 99,9')";
string[] splitString = Regex.Split(inputString, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
登录后复制

splitString 数组将包含:

  • splitString[0] = 'ABCDEFG'
  • splitString[1] = 123542
  • splitString[2] = 'XYZ 99,9'

这种正则表达式方法可以准确地分割字符串,即使逗号出现在带引号的子字符串中也能保持数据完整性。

以上是如何在 C# 中拆分逗号分隔的字符串,同时忽略引号内的逗号?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板