R-构造一个带双引号的字符串

时间:2019-02-06 08:19:12

标签: r string

我基本上需要结果(字符串)具有双引号,因此需要转义字符。最好使用R base进行求解,而无需额外的R包。

我尝试使用squote,shQuote和noquote。他们只是操纵报价单,而不是转义字符。

我的列表:

power <- "test"

myList <- list (
                "power" = power)

我使用以下内容对内容进行子集

myList
myList$power

预期结果(包含以下内容的字符串):

" \"power\": \"test\" "

3 个答案:

答案 0 :(得分:3)

使用软件包glue

library(glue)
glue(' "{names(myList)}": "{myList}" ')
 "power": "test" 

答案 1 :(得分:1)

另一个使用shQuote

的选项
paste(shQuote(names(myList), type = "cmd"),
      shQuote(unlist(myList), type = "cmd"),
      sep = ": ")
# [1] "\"power\": \"test\""

答案 2 :(得分:0)

不确定会得到您的期望。是你想要的吗?

myList <- list (
  "power" = "test"
)
stringr::str_remove_all(
  as.character(jsonlite::toJSON(myList, auto_unbox = TRUE)), 
  "[\\{|\\}]")
# [1] "\"power\":\"test\""

如果您想要一些空格:

x <- stringr::str_remove_all(
  as.character(jsonlite::toJSON(myList, auto_unbox = TRUE)), 
  "[\\{|\\}]")
paste0(" ", x, " ")