【问题标题】:Add single quotes to a string将单引号添加到字符串
【发布时间】:2013-03-09 22:14:45
【问题描述】:

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

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

有什么办法吗?

谢谢, 文森特

【问题讨论】:

    标签: r string concatenation single-quotes


    【解决方案1】:

    也许使用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'"
    

    【讨论】:

    • 哇,我的默认选项是在 OS X 上使用 fancyQuotes,结果我得到了奇怪的引号...... :)
    • 太酷了! R 是目前最酷的语言之一。
    • sQuote 的问题似乎是它使用了不同的字符 ‘abc’ 。但我们真正需要的是'abc'。当运行 sql 它 sQuote 给出错误
    • @sjd -- 你可以通过首先设置options(useFancyQuotes = FALSE)来获得你想要的纯引号。 (有关其他选项,请参阅 ?sQuote。)
    【解决方案2】:

    使用Reducepaste0

    Reduce(paste0,list("'","a","'"))
     [1] "'a'"
    

    【讨论】:

      【解决方案3】:

      扩展@vodka 答案:

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

      【讨论】:

        【解决方案4】:

        也许我错过了什么:

        s <- "cat"
        a <- "'"
        paste(a,s,a,sep="")
        

        【讨论】:

        • 谢谢。我使用了 collapse 而不是 sep。
        【解决方案5】:

        只需使用paste:

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

        或新品种

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

        【讨论】:

          猜你喜欢
          • 2023-04-09
          • 1970-01-01
          • 1970-01-01
          • 2022-08-17
          • 2019-05-02
          • 1970-01-01
          • 1970-01-01
          • 2020-04-15
          • 1970-01-01
          相关资源
          最近更新 更多