我有一个前两列的表,如下所示:
Human_ortholog Representative_transcript
FAM126A ENST00000409923.1
CYP3A5 ENST00000339843.2
LCMT1 ENST00000399069.3
SPATA31A6 ENST00000332857.6
如何使用gsub删除.n
,其中n是.
之后的数字?
答案 0 :(得分:5)
以下是:
df$col = sub('\\.\\d$', '', df$col)
这将删除字符串末尾的单个数字,前面有一个点。如果数字可能包含多个数字,请使用适当的量词:
df$col = sub('\\.\\d+$', '', df$col)
这个答案正在使用sub
,因为您只想为每个字符串执行一次替换。 gsub
在每个字符串执行多次替换时有意义(仅限于此示例):
sub('[aeiou]', '', 'This is a test')
# [1] "Ths is a test"
gsub('[aeiou]', '', 'This is a test')
# [1] "Ths s tst"