我想用x替换下面向量中每个字符串的第二个字母。
ba <- c('ba','aba','baba')
# goal: bx, axa, bxba
通常我会使用substr(ba,2,2) <- 'x'
。但由于原因太复杂而无法进入,我试图避免substr
而是寻找另一种解决方案。所以我尝试将字符串拆分并替换每个列表的第二个元素。但我收到此错误消息。
ba2 <- strsplit(ba,'')
lapply(ba2,function(x) x[2]) <- 'x'
# Error in lapply(ba2, function(x) x[2]) <- "x" :
# could not find function "lapply<-"
我该如何解决这个问题?有没有办法将lapply
与<-
结合使用?
答案 0 :(得分:4)
使用正则表达式替换:
sub("^(.).", "\\1x", ba)
说明: