我有一个像这样的字符串
$str = '"filename","lf","$data","{ }",0';
如何从字符串中删除所有"
?
我尝试使用这种正则表达式:
$str =~ s/"(.+?)"//s;
它应匹配该字词并删除"
- s
答案 0 :(得分:6)
你可以这样做$string =~ s/\"//g;
答案 1 :(得分:1)
您的$str
看起来想要处理CSV文件。萨达姆的答案当然适用于大多数情况,但是如果你真的使用.csv文件,那么我建议你使用像Text::CSV这样的实际解析器。这样,如果你的双引号valeus中嵌入了逗号,它们将被正确处理:
use Text::CSV;
use strict;
use warnings;
my $csv = Text::CSV->new();
my $str = '"filename","lf","$data","{ }",0';
$csv->parse($str);
my @columns = $csv->fields();
use Data::Dump;
dd \@columns;