我不是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...
答案 0 :(得分:1)
在这种情况下,由于您要替换固定的字符串,因此可以简单地设置fixed = T
选项来完全避免使用正则表达式。
a = "\\begin{tabular}"
a = gsub("\\begin{tabular}", "\\scalebox{0.7}{\n\\begin{tabular}", x=a, fixed= T)
并使用\n
作为换行符。
如果您确实想使用正则表达式,则需要使用两个反斜杠而不是一个反斜杠来转义花括号。
例如
a = "\\begin{tabular}"
gsub(pattern = "\\{|\\}", replacement = "_foo_", x=a)
[1] "\\begin_foo_tabular_foo_"