用引号代替大括号{}

时间:2017-04-12 09:12:06

标签: r string quotes gsub braces

我想用引号替换大括号{}。我尝试了以下代码,问题是字符串中的\ 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 个答案:

答案 0 :(得分:1)

你的功能有效。 \并非如此。

请考虑以下事项:

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

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

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

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

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