You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为多个字符串添加单引号并以逗号分隔(R语言)

R语言:给向量元素加单引号并合并为单个字符串

原始向量

strings <- c("apple", "banana", "029")
strings
# [1] "apple"  "banana" "029"

期望输出

desired_strings <- "'apple','banana','029'"
desired_strings
# [1] "'apple','banana','029'"

你的尝试及问题

你之前的代码给每个元素添加了单引号和末尾逗号,但得到的是带多余逗号的向量,而非合并后的单个字符串:

a <- "'"
paste0(mapply(paste0, a, strings, a), ",")
# [1] "'apple',"  "'banana'," "'029',"

正确解决方法

方法1:分步处理,用paste0和paste(collapse)

先给每个元素包裹单引号,再用逗号合并成单个字符串:

# 给每个元素加单引号
quoted_strings <- paste0("'", strings, "'")
# 合并为单个字符串
desired_strings <- paste(quoted_strings, collapse = ",")

# 查看结果
desired_strings
# [1] "'apple','banana','029'"

方法2:一步完成,结合sprintf和paste(collapse)

用sprintf格式化每个元素为带单引号的格式,再直接合并:

desired_strings <- paste(sprintf("'%s'", strings), collapse = ",")
desired_strings
# [1] "'apple','banana','029'"

方法3:使用glue包(需先安装)

如果习惯更直观的语法,可以用glue包的glue_collapse:

# 先安装包(首次使用时)
# install.packages("glue")
library(glue)

desired_strings <- glue_collapse(glue("'{strings}'"), sep = ",")
desired_strings
# [1] "'apple','banana','029'"

内容的提问来源于stack exchange,提问作者Adrian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 09:05:28