2017-04-12 177 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)