有没有办法从R中的字符串中按索引删除字符?

hij*_*jfz 1 string r

我有DNA的序列串,如:“ACGTTATATTTATGTTTTGGGATTTTAGCAGGAATGATTGGTACTGCTTTCAGTATGTTAATTAGATTAGAGTTATCGGGACCGGGATCAATGTTAGGGGATATCATTTATACAATGTTATTGTTACTGCTCATGCTTTTGTTATGATTTTTTTTTTAGTAATGCCTGTGATGATTGGGGGGTTTGGGAATTGGTTAGTACCATTATATATTGGTGCCCCAGATATGGCATTCCCTCGATTAAATAATATAAGTTTTTGATTATTACCGCCGGCTTTAAG”

有没有办法可以删除特定位置的字母,例如 R 中的位置 20?

我想我可以使用正则表达式,但我认为我的表达方式不对。

谢谢

akr*_*run 5

一种选择是捕获字符直到 19,删除第 20 个元素并捕获剩余的字符

str2 <- sub("^(.{1,19}).(.*)", "\\1\\2", str1)
Run Code Online (Sandbox Code Playgroud)

或者使用单个捕获组

sub("^(.{1,19}).", "\\1", str1)
Run Code Online (Sandbox Code Playgroud)

或者另一种选择是 str_sub

library(stringr)
nchar(str1)
#[1] 280
str_sub(str1, 20, 20) <- ""
nchar(str1)
#[1] 279
Run Code Online (Sandbox Code Playgroud)

数据

str1 <- "ACGTTATATTTATGTTTTGGGATTTTAGCAGGAATGATTGGTACTGCTTTCAGTATGTTAATTAGATTAGAGTTATCGGGACCGGGATCAATGTTAGGGGATATCATTTATACAATGTTATTGTTACTGCTCATGCTTTTGTTATGATTTTTTTTTTAGTAATGCCTGTGATGATTGGGGGGTTTGGGAATTGGTTAGTACCATTATATATTGGTGCCCCAGATATGGCATTCCCTCGATTAAATAATATAAGTTTTTGATTATTACCGCCGGCTTTAAG"
Run Code Online (Sandbox Code Playgroud)