6

我尝试在字符串中添加单引号,但不知道该怎么做。例如,我想用“ABC”替换 ABC。

我玩过paste, catprint但不知道该怎么做。

有什么解决办法吗?

谢谢,文森特

4

5 回答 5

21

也许使用sQuote

sQuote("ABC")
# [1] "'ABC'"

这(就像它的兄弟一样dQuote)经常用于在打印到控制台的某些消息或其他文本周围加上引号:

cat("ABC", "\n")
# ABC 
cat(sQuote("ABC"), "\n")
# 'ABC' 

请注意(如 中?sQuote所述),根据您的任务所需的引号类型,您可能需要先重置options("useFancyQuotes"). 例如,要确保该函数使用简单的直立 ASCII 引号装饰您的文本,请执行以下操作:

options(useFancyQuotes = FALSE)
sQuote("ABC")
# [1] "'ABC'"
于 2013-03-20T17:08:17.693 回答
9

只需使用paste

R> paste("'", "ABC", "'", sep="")
[1] "'ABC'"

或新品种

R> paste0("'", "ABC", "'")
[1] "'ABC'"
于 2013-03-20T17:01:04.153 回答
1

扩展@vodka 答案:

s <- c("cat", "dog")
a <- "'"
mapply(paste0, a, s, a)
于 2013-03-20T17:06:19.360 回答
1

使用Reducepaste0

Reduce(paste0,list("'","a","'"))
 [1] "'a'"
于 2013-03-20T17:12:21.057 回答
0

也许我错过了一些东西:

s <- "cat"
a <- "'"
paste(a,s,a,sep="")
于 2013-03-20T17:02:00.683 回答