【发布时间】:2019-10-24 05:28:36
【问题描述】:
我想用竖线 ('|') 替换以逗号分隔的字符串中的所有逗号,但双引号中的逗号除外。如果可能,我更喜欢使用 JavaScript 的“替换”功能。
我的正则表达式知识充其量是有限的。我可以用管道替换所有逗号,但这并没有给我解析数据所需的结果。我还在这里找到了一个正则表达式,它删除了除引号中的逗号之外的所有逗号,但没有实现管道或其他分隔符。
(?!\B"[^"]*),(?![^"]*"\B)
这是我想要完成的一个示例:
string1 = 1234,Cake,,"Smith,John",,"Status: Acknowledge,Accept",,Red,,
我希望它看起来像:
string1 = 1234|Cake||"Smith,John"||"Status: Ackknowledge,Accept"||Red||
【问题讨论】:
-
这看起来像 CSV 数据。当您想要文字
"或换行符时会发生什么?最好使用适当的 CSV 解析器。
标签: javascript regex replace