如何在perl中替换字符串中的双引号

时间:2014-04-18 12:30:00

标签: perl double-quotes

想要在perl

中将撇号替换为双引号

示例

'It's raining'

打印

'It"s raining'

2 个答案:

答案 0 :(得分:1)

您可以使用反斜杠引用引号:

print "I think \"it's raining\" if you know what I mean\n";

但是,更好的方法是使用quote-like运算符qq( ... )表示双引号,q( .. )表示单引号:

print qq(I think "it's raining" if you know what I mean\n);

括号几乎可以是任何字符,就像替换或正则表达式匹配一样:

print qq/I think "it's raining" if you know what I mean\n/;
print qq#I think "it's raining" if you know what I mean\n#;

关于括号的好处是它们必须匹配:

print qq(I think "it's raining" if you know what I mean (he said with a wink)\n);

这仍然有效。


现在正确答案

  

我正在使用语法str_replace(string_expr1,string_expr2,string_expr3) - user3548698

所以,你没有逃避,你正在替换:

使用s/.../.../运算符:

my $string = "it's raining";
my $string =~ s/'/"/g;   # The `g` means all instances
print "$string\n";       # Prints it"s raining.

答案 1 :(得分:1)

您可以使用全局搜索和替换,例如

 $your_string =~ s/'/"/g;

它比任何函数调用都简单得多,并且可以访问perl的其他优点!

在末尾添加g可以进行全局搜索和替换,因此' $ your_string中的内容将被替换,而不仅仅是第一个。