我从 CSV 文件中得到了一行"
作为场围场和,
作为字段分隔符作为字符串。有时有"
在打破场围的数据中。我正在寻找一个正则表达式来删除这些"
.
我的字符串看起来像这样:
my $csv = qq~"123456","024003","Stuff","","28" stuff with more stuff","2"," 1.99 ","",""~;
我看过this http://www.regular-expressions.info/lookaround.html但我不明白如何告诉它只删除引号
- 不在字符串的开头
- 不在字符串的末尾
- 前面没有
,
- 后面没有一个
,
我设法用这行代码告诉它同时删除 3 和 4:
$csv =~ s/(?<!,)"(?!,)//g;
然而,我无法适应^
and $
在那里,因为前向和后向都不喜欢被写成(?<!(^|,))
.
除了拆分字符串并从每个元素中删除引号之外,是否有一种方法可以仅使用正则表达式来实现此目的?