代码之家  ›  专栏  ›  技术社区  ›  Joachim Schork

将字符中的最后一个逗号替换为“&”

  •  11
  • Joachim Schork  · 技术社区  · 5 年前

    我有许多不同的字符,它们具有以下结构:

    # Example
    x <- "char1, char2, char3"
    

    我想用“&”删除此字符的最后一个逗号,即所需的输出应如下所示:

    # Desired output
    "char1, char2 & char3"
    

    如何用“&”替换字符的最后一个逗号?

    4 回复  |  直到 5 年前
        1
  •  12
  •   akrun    5 年前

    stri_replace_last stringi

    library(stringi)
    stri_replace_last(x, fixed = ',', ' &')
    #[1] "char1, char2 & char3"
    
        2
  •  7
  •   moodymudskipper    5 年前

    sub

    sub(",([^,]*)$"," &\\1", x)
    # [1] "char1, char2 & char3"
    
        3
  •  2
  •   jay.sf    5 年前

    u <- unlist(strsplit(x, ""))
    u[tail(grep(",", u), 1)] <- " &"
    paste0(u, collapse="")
    # [1] "char1, char2 & char3"
    
        4
  •  2
  •   acylam    5 年前

    str_locate_all str_sub

    library(stringr)
    pos <- str_locate_all(x, ',')[[1]][2, ]
    str_sub(x, pos[1], pos[2]) <- " &"
    
    # [1] "char1, char2 & char3"