转义regexp中的单词

转义regexp中的单词,regex,perl,Regex,Perl,我有一根这样的绳子 $str = '"filename","lf","$data","{ }",0'; 如何从字符串中删除所有“? 我尝试使用这种regexp: $str =~ s/"(.+?)"//s; 它应该匹配单词并删除“-s您可以这样做$string=~s/\“//g您的$str看起来像是在处理CSV文件。萨达姆的答案当然适用于大多数情况,但如果你真的在使用.csv文件,那么我建议你使用像这样的实际解析器。这样,如果双引号valeus中嵌入了逗号,它们将得到正确处理: use T

我有一根这样的绳子

 $str = '"filename","lf","$data","{ }",0';
如何从字符串中删除所有
? 我尝试使用这种regexp:

 $str =~ s/"(.+?)"//s;

它应该匹配单词并删除
-s

您可以这样做
$string=~s/\“//g

您的
$str
看起来像是在处理CSV文件。萨达姆的答案当然适用于大多数情况,但如果你真的在使用.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;

不,它不删除second“,我已经尝试过了,
s/”//g
更简单。但是我想你可以用
s/“(.*)/$1/g
的形式来做这件事,我想你是想这么做的,我想你少了一个
/
。这一个对我很有用,
$str=~s/\“//g;
@Rocker然后我强烈建议你使用一个实际的cvs解析器,就像我上面演示的那样。你可能需要安装cpan模块,但是从长远来看,如果你破解它,你会为自己节省很多潜在的痛苦。