Add single quotes to a string

22,043

Solution 1

Just use paste:

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

or the new variety

R> paste0("'", "ABC", "'")
[1] "'ABC'"

Solution 2

Maybe use sQuote?

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

This (like its sibling dQuote) is frequently used to put quotes around some message or other text that's being printed to the console:

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

Do note (as is documented in ?sQuote) that, depending on the type of quotes needed for your task, you may need to first reset options("useFancyQuotes"). To ensure that the function decorates your text with simple upright ASCII quotes, for example, do the following:

options(useFancyQuotes = FALSE)
sQuote("ABC")
# [1] "'ABC'"

Solution 3

Extending @vodka answer:

s <- c("cat", "dog")
a <- "'"
mapply(paste0, a, s, a)

Solution 4

Using Reduce and paste0

Reduce(paste0,list("'","a","'"))
 [1] "'a'"
Share:
22,043
VincentH
Author by

VincentH

Updated on March 20, 2021

Comments

  • VincentH
    VincentH over 3 years

    I try to add single quotes to a string but don't see how to do it. For instance I would like to replace ABC by 'ABC'.

    I have played with paste, cat, print but don't see how to do it.

    Any solution?

    Thanks, Vincent