想要在perl
中将撇号替换为双引号示例
'It's raining'
打印
'It"s raining'
答案 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中的内容将被替换,而不仅仅是第一个。