粘贴并折叠向量并用引号引起来

问题描述 投票:1回答:1

我正在尝试通过从Excel文件中提取向量来在我的API查询中制定选择语句。

我从Excel文件中提取的向量是:

X <-c("name", "type", "target")

然后,我将这个向量传递到我的API查询路径中:

path <- paste0(`url`,`table`,"?$select=",paste(`X`, collapse = ","))

我得到以下信息:

"https://url/api/data/v8.2/table1?$select=name,type,target"

尽管我想要的输出是将我的选择变量括在这样的引号中:

"https://url/api/data/v8.2/table1?$select="name","type","target".

但是,当我尝试在粘贴功能中添加引号时,如下所示:

path <- paste0(`url`,`table`,"?$select=",paste('"',`X`,'"', collapse = ","))

我得到以下输出:

"https://url/api/data/v8.2/table1?$select=\" name \",\" type \",\" target \""

有人知道如何在每个选定变量周围加上引号来获得所需的输出吗?

r paste quotation-marks
1个回答
0
投票

我们都可以使用sprintf

sprintf("https://url/api/data/v8.2/table1?$select='%s','%s','%s'", X[1], X[2], X[3])
#[1] "https://url/api/data/v8.2/table1?$select='name','type','target'"

如果在'X'中有'n'个元素,则>]

s1 <- paste(rep("'%s'", length(X)), collapse=",")
do.call(sprintf, c(fmt = paste0("https://url/api/data/v8.2/table1?$select=", s1), as.list(X) ))
#[1] "https://url/api/data/v8.2/table1?$select='name','type','target'"

glue

library(glue)
glue("https://url/api/data/v8.2/table1?$select='{X[1]}','{X[2]}', '{X[3]}'")

在OP的帖子中,如果是双引号,则是转义字符。我们可以用cat

检查
© www.soinside.com 2019 - 2024. All rights reserved.