如何删除字符串中的第n个字符?

How to remove nth character in string?

我有什么办法可以根据索引从字符串中删除一个字符吗? 例如,从这些词中删除每隔一个字母:

name <- c("Jackkk","Markkk","Jayyy")

您可以使用 sub:

sub('(^.).(.*$)', '\1\2', name)
#> [1] "Jckkk" "Mrkkk" "Jyyy" 

一个non-regex,适用于任何位置的不太优雅的方法可能是:

remove_n <- 2 #position to remove

unlist(lapply(strsplit(name, ""), function(x)
  paste(x[-remove_n], collapse = "")))

# [1] "Jckkk" "Mrkkk" "Jyyy"

# Other positions
remove_n <- 3
# [1] "Jakkk" "Makkk" "Jayy" 
remove_n <- 1
# [1] "ackkk" "arkkk" "ayyy"