【问题标题】:Substituting braces {} with quotes "将大括号 {} 替换为引号 "
【发布时间】:2017-09-07 23:29:29
【问题描述】:

我想用引号“替换大括号{}。我尝试了以下代码,问题是字符串中的\ appaers我无法删除它。

使用的代码:

makebib <- function(string){
   # replace { by "
   string <- gsub("\\{",'"',string)

   # replace } by "
   string <- gsub("\\}",'"',string)

   # delete \
   string <- gsub("\\","",string,fixed = TRUE)

   return(string)
}

test <- "bla{bla}"
makebib(test)

[1] "bla\"bla\""

如何管理 \ 不出现或删除它?

【问题讨论】:

    标签: r string quotes gsub braces


    【解决方案1】:

    您的功能有效。 \ 并不存在。

    考虑以下几点:

    test <- "bla{bla}"
    makebib(test)
    # [1] "bla\"bla\""
    
    cat(makebib(test))
    # bla"bla"
    
    nchar(makebib(test))
    # [1] 8
    

    顺便说一句,你的功能也可以简化:

    makebib <- function(string) gsub("[{}]", "\"", string)
    

    【讨论】: