Regex 符号后的grep子字符串
我想创建一个新列,其中包含最后一个Regex 符号后的grep子字符串,regex,r,Regex,R,我想创建一个新列,其中包含最后一个后面的字符串列ID中的符号。我知道如何使用awk,但不使用R > head(Mapped2) IsomiR ID 1 TCCCGGGTGGTCTAGTGGTTAGGATTCGGCGCT
后面的字符串代码>列ID
中的符号。我知道如何使用awk,但不使用R
> head(Mapped2)
IsomiR ID
1 TCCCGGGTGGTCTAGTGGTTAGGATTCGGCGCT URS0000635088;tRNA-Glu-CTC-2-1
2 TCCCGGGTGGTCTAGTGGTTAGGATTCGGCGCT URS000011CFE8;misc_RNA
3 TCCCGGGTGGTCTAGTGGTTAGGATTCGGCGCT URS00006A26A3;Homo;sapiens;tRNA
4 TTGCCCTCGGCCGATCGAAAGGGAGTCGGGTTCAGATCCCCGAATCCGGA URS00008D20CE;Homo;sapiens;large;subunit;rRNA
5 TTGCCCTCGGCCGATCGAAAGGGAGTCGGGTTCAGATCCCCGAATCCGGA URS00008C7E99;Homo;sapiens;large;subunit;rRNA
6 TTGCCCTCGGCCGATCGAAAGGGAGTCGGGTTCAGATCCCCGAATCCGGA URS000075EC78;Homo;sapiens;RNA,;28S;ribosomal;5;(RNA28S5),;rRNA.
一个与非匹配的模式如何代码>a之间的字符代码>和字符串的结尾,如下所示:
s <- "6TTGCCCTCGGCCGATCGAAAGGGAGTCGGGTTCAGATCCCCGAATCCGGAURS000075EC78;Homo;sapiens;RNA,;28S;ribosomal;5;(RNA28S5),;rRNA."
gsub(".*;([^;]+)$", "\\1", s)
# [1] "rRNA."
s与非匹配的模式如何代码>a之间的字符代码>和字符串的结尾,如下所示:
s <- "6TTGCCCTCGGCCGATCGAAAGGGAGTCGGGTTCAGATCCCCGAATCCGGAURS000075EC78;Homo;sapiens;RNA,;28S;ribosomal;5;(RNA28S5),;rRNA."
gsub(".*;([^;]+)$", "\\1", s)
# [1] "rRNA."
s给定grep使用regex,这里有一个适合我的regex:
/;([^\;]*)\n/g
有关实现,请参阅
不幸的是,我不知道R,但希望这能让你开始使用grep达到这个目的。鉴于grep使用正则表达式,这里有一个正则表达式适合我:
/;([^\;]*)\n/g
有关实现,请参阅
不幸的是,我不知道R,但希望它能让你开始使用grep达到这个目的。如果你想捕捉最后出现的代码>,您可以使用捕获它之前的所有内容(包括)并将其删除,同时只保留剩下的内容,例如
sub(".*;" , "", Mapped2$ID)
# [1] "tRNA-Glu-CTC-2-1" "misc_RNA" "tRNA" "rRNA" "rRNA" "rRNA."
如果要捕获最后出现的代码>,您可以使用捕获它之前的所有内容(包括)并将其删除,同时只保留剩下的内容,例如
sub(".*;" , "", Mapped2$ID)
# [1] "tRNA-Glu-CTC-2-1" "misc_RNA" "tRNA" "rRNA" "rRNA" "rRNA."
sub(“.*”,“”,Mapped2$ID)
?参见stringr
包——具体地说,?stringr::str\u locate\u all
sub(“.*”,“”,Mapped2$ID)
?参见stringr
包——具体地说,?stringr::stru locate\u all