ste*_*myu 3 regex csv expression programming-languages
这是对此处回答的相关问题的扩展
我有一个需要解析的每周csv文件.它看起来像这样.
"asdf","asdf","asdf","asdf"
但有时会有一些文本字段包含一个额外的未转义的双引号字符串
"asdf","as "something" df","asdf","asdf"
从这里的其他帖子,我能够整理一个正则表达式
(?m)""(?![ \t]*(,|$))
Run Code Online (Sandbox Code Playgroud)
它匹配两个连续的双引号,只有"如果它们之前没有逗号或行尾,可选中间有空格和制表符"
现在这只能连续找到双引号.如何修改它以查找和替换/删除文件中"something"周围的双引号?
谢谢.
(?<!^|,)"(?!,|$)
Run Code Online (Sandbox Code Playgroud)
将匹配一个双引号,该引号不在逗号之前或之后,也不在逗号的开头/结尾.
如果你需要允许逗号周围或开始/结束时的空格,并且你的正则表达式(你没有指定)允许任意长度的lookbehind(例如.NET),你可以使用
(?<!^\s*|,\s*)"(?!\s*,|\s*$)
Run Code Online (Sandbox Code Playgroud)