如何使用 gsub 在 R 中转义反斜杠?[复制]

How do I escape backslash in R using gsub? [duplicate]

提问人:Akram H 提问时间:8/22/2023 更新时间:8/22/2023 访问量:25

问:

你如何用字符串中的任何东西替换“反斜杠”?

我正在这样做:

A = "plot_maker(df,c(\"var1\", \"var2\"))"
gsub("\\\\","11", A)

它不起作用

我想在最后有这样的东西:

plot_maker(df,c("var1", "var2"))
r gsub

评论

1赞 Mark 8/22/2023
您的示例中没有任何反斜杠,只是转义了撇号
0赞 Mark 8/22/2023
我想你在找eval(parse(text = A))
2赞 MrFlick 8/22/2023
用于验证输出中没有反斜杠。R 只需在打印值时转义特殊字符。使用避免特殊逃逸。但这仅适用于视觉输出。字符串本身不包含斜杠,它只包含引号内的引号。cat(A)cat()

答:

0赞 Ben Bolker 8/22/2023 #1

你对字符串之间的区别和 R 的显示方式感到困惑。您的字符串实际上没有任何反斜杠,但 R 在显示时会添加它们。你可以用

print(A, quote = FALSE)
## [1] plot_maker(df,c("var1", "var2"))

cat(A, "\n")
## plot_maker(df,c("var1", "var2")) 

(添加 以在字符串后打印换行符)\n