使用 gsub 用 r 字符串替换乳胶

时间:2021-04-21 16:32:47

标签: r string latex

我想用 tabular 查找和替换 tabularx 实例。我尝试过 gsub 但它似乎让我进入了一个逃避痛苦的世界。按照其他问题和答案,我发现 fixed=TRUE 是我迄今为止最好的。下面的代码片段几乎可以工作,\B 无法识别。如果我转义它两次,我会得到 \BEGIN 作为输出!

texText <- '\begin{tabular}{rl}\begin{tabular}{rll}'

texText <- gsub("\begin{tabular}{rl}", "\BEGIN{tabular}{rll}", texText, fixed=TRUE)

我正在使用 BEGIN 作为我的测试来查看发生了什么。这是在我开始解决括号 {rl} {ll} {rrl} 等中发生的事情的问题之前。理想情况下,我正在寻找一个可以输出的正则表达式:

\begin{tabularx}{rX}\begin{tabularx}{rlX}

即最后一列被 X 替换。

1 个答案:

答案 0 :(得分:1)

尝试使用正确的转义:

texText <- "\begin{tabular}{rl}\begin{tabular}{rll}"
output <- gsub("\begin\\{tabular\\}", "\begin{tabularx}", texText)
output

[1] "\begin{tabularx}{rl}\begin{tabularx}{rll}"

文字反斜杠需要两个反斜杠,而 {} 等元字符也需要两个反斜杠。

相关问题