【发布时间】:2019-03-29 03:27:55
【问题描述】:
我不是 R 中 Regex 方面的专家,但我觉得我已经阅读了足够长的文档,但仍然很短,所以我在这里发帖。
我正在尝试替换以下字符串,全部按字面意思写:
a = "\\begin{tabular}"
a = gsub("\\begin{tabular}", "\\scalebox{0.7}{
\\begin{tabular}", a)
期望的输出是:cat('\\scalebox{0.7}{ \\begin{tabular}')
所以我知道我需要将第一个“\”转义为“\”,但是当我转义括号时,我得到了
Error: '\}' is an unrecognized escape in character string starting...
【问题讨论】:
-
抱歉,我补充了,但实际上只是第二部分。
-
我认为您可能需要您的示例输入为
a = "\\begin{tabular}"- 否则它不会包含文字“\begin” -
不确定这是否是您需要的?
cat(sub("\\begin{tabular}", "\\scalebox{0.7}{\\begin{tabular}", a, fixed = TRUE))? -
cat(gsub("\\\\begin\\{tabular\\}", "\\\\scalebox{0.7}{\\\\begin{tabular}", a)) -
@MrFlick,这是有道理的。如果
pattern采用正则表达式,这就解释了为什么我们也需要四个反斜杠来表示文字“\”。但是,如果不是正则表达式,为什么replacement中的一个“\”需要四个反斜杠。