2017-04-12 141 views
2

我想用引号替换大括号{}。我尝试了下面的代码,问题在于字符串中的\ 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\"" 

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

回答

1

您的功能起作用。 \不是真的在那里。

考虑以下几点:

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

cat(makebib(test)) 
# bla"bla" 

nchar(makebib(test)) 
# [1] 8 

顺便说一句,你的函数也可以简化为:

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