我有一个 CSV 文件中的一行,其中包含字段分隔符"
和,
字段分隔符作为字符串。有时"
,数据中存在破坏字段封闭符的数据。我正在寻找一个正则表达式来删除这些"
.
我的字符串如下所示:
my $csv = qq~"123456","024003","Stuff","","28" stuff with more stuff","2"," 1.99 ","",""~;
我看过这个,但我不明白如何告诉它只删除引号
- 不在字符串的开头
- 不在字符串的末尾
- 前面没有
,
- 后面没有
,
我设法用这行代码告诉它同时删除 3 和 4 :
$csv =~ s/(?<!,)"(?!,)//g;
但是,我无法将^
and$
放在那里,因为前瞻和后瞻都不喜欢写成(?<!(^|,))
.
除了拆分字符串并从每个元素中删除引号之外,有没有办法仅使用正则表达式来实现这一点?