代码之家  ›  专栏  ›  技术社区  ›  Geoff

使用gsub[复制]将乳胶替换为r字符串

  •  0
  • Geoff  · 技术社区  · 5 年前

    我想找到并替换 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 回复  |  直到 5 年前
        1
  •  1
  •   Tim Biegeleisen    5 年前

    尝试使用正确的转义:

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

    字面反斜杠需要两个反斜杠,还需要元字符,如 { 和 } 需要两次反睫毛。