我有许多不同的字符,它们具有以下结构:
# Example
x <- "char1, char2, char3"
我想用“&”删除该字符的最后一个逗号,即所需的输出应如下所示:
# Desired output
"char1, char2 & char3"
如何用“&”替换字符的最后一个逗号?
答案 0 :(得分:13)
一个选项是stri_replace_last
中的stringi
library(stringi)
stri_replace_last(x, fixed = ',', ' &')
#[1] "char1, char2 & char3"
答案 1 :(得分:8)
您可以使用sub
:
sub(",([^,]*)$"," &\\1", x)
# [1] "char1, char2 & char3"
答案 2 :(得分:3)
您可以拆分和拆分它。
u <- unlist(strsplit(x, ""))
u[tail(grep(",", u), 1)] <- " &"
paste0(u, collapse="")
# [1] "char1, char2 & char3"
答案 3 :(得分:3)
我们也可以将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"