-1

我希望在 Perl 字符串中转义特殊字符,例如引号和空格。

我想避免使用正则表达式和安装额外的模块。

4

2 回答 2

10

使用quotemeta可能会对您有所帮助。

my $escaped = quotemeta $string_with_quotes_and_spaces;

它将以反斜杠转义任何不是字母数字或下划线的内容。

于 2012-07-26T09:59:14.383 回答
0

如果您收到字符串,那么 Borodin 的 quotemeta 解决方案将起作用。

如果是声明字符串,可以使用qq开关声明自己的字符串分隔符。例如使用 # 而不是 ' 或 ":

my $string = qq#Didn't know I could do this!"how" amazing#;

这将转义通常的字符串分隔符。

于 2012-07-26T11:31:32.643 回答