【发布时间】:2017-09-23 05:41:23
【问题描述】:
我查看了几个标题相似的 Stack Overflow 帖子,但没有一个被接受的答案对我有用。
我有一个 CSV 文件,其中每个“单元格”数据都用逗号分隔并用引号括起来(包括数字)。每行以换行符结束。
某些文本“单元格”中有引号,我想使用正则表达式找到它们,以便可以正确转义它们。
示例行:
"0","0.23432","234.232342","data here dsfsd hfsdf","3/1/2016",,"etc","E 60"","AD"8"\n
我想只匹配E 60" 和AD"8 中的",而不是任何其他"。
我可以使用什么(最好是 Python 友好的)正则表达式来执行此操作?
【问题讨论】:
-
感谢您的回复!这很接近,但我只想匹配那些内部引号字符以便我可以替换它们(例如,我不想替换
E 60部分。我想我还需要字符串的其余部分是比限制其他字符串中的单个数字和字母更灵活(请参阅更新的原始帖子示例)。 -
你能更新你想要的匹配吗
-
匹配是一样的——只是内部的
"字符。我认为这样做了,尽管可能效率不高:r'(?<!^)(?<!,)\"(?!,|$)'
标签: python regex csv regex-lookarounds