如何拆分逗号分隔的文本,同时忽略引号内的逗号?
分割不包括引号的逗号分隔文本
处理带有嵌入引号的逗号分隔文本时,有必要忽略引号内的逗号部分。在 Python 中使用默认的 string.split(",") 方法时会出现此问题。
考虑以下字符串:
"123,test,444,\"don't split, this\",more test,1"
登录后复制
使用默认方法拆分此字符串将产生以下结果结果:
["123", "test", "444", "\"don't split", " this\"", "more test", "1"]
登录后复制
如您所见,引用部分内的逗号不会被忽略。为了解决这个问题,需要使用正则表达式。
str.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)")
登录后复制
正则表达式说明:
- **,:用逗号分割字符串。
- **(?=(d $)):先行断言,确保仅当其后跟一个偶数个双引号。
- *(?:w"w"):捕获多个带引号的字符串。
- *。 $:捕获剩余的未加引号的文本。
此正则表达式确保只有引用部分之外的逗号才会被识别为分隔符。
或者,在 Python 中使用 (?x) 修饰符可以将正则表达式分解为多行以提高可读性:
str.split("(?x)\n\ , \n\ (?=\n\ (?: \n\ [^\"]* \n\ \" \n\ [^\"]* \n\ \" \n\ )* \n\ [^\"]* \n\ $ \n\ ) \n")
登录后复制
此代码有效地将输入字符串拆分为一个列表,其中每个元素代表一个子字符串,在任何引用的部分之外用逗号分隔。
以上是如何拆分逗号分隔的文本,同时忽略引号内的逗号?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
3 周前
By DDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
2 周前
By DDD
威尔R.E.P.O.有交叉游戏吗?
1 个月前
By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)
