如何用gsub替换R中的反斜杠\?

How to replace backslash \ in R with gsub?

我想修改 R 中的一些 .tex 文件。 我用 readLines() 读取了文件,但我无法替换以下文本。

tex <- "$\times$"
new_tex <- gsub("$\times$", "\ $\times$", tex)
new_tex

好像找不到$\times$ 但即使是这样,是否可以在不转义的情况下编写 \?

提前致谢!

gsub默认使用正则表达式,除非你设置fixed=TRUE。 在正则表达式中 $ 表示句子的结尾,这就是它不起作用的原因。

这应该有效:

new_tex <- gsub("$\times$", "\ $\times$", tex,fixed=TRUE)

关于反斜杠,不,你不能在不转义的情况下写反斜杠。否则,例如,R 解释器将无法区分制表符 \t 和 "backslash + t".

没有fixed = TRUE:

gsub("\$\\times\$", "\\ $\\times\$", tex)
[1] "\ $\times$"

不幸的是,您需要很多反斜杠,因为您几乎需要转义所有内容。