删除 "."之后的部分字符串

标签 r regex string

我正在使用 NCBI 引用序列登录号,例如变量 a:

a <- c("NM_020506.1","NM_020519.1","NM_001030297.2","NM_010281.2","NM_011419.3", "NM_053155.2")  

要从 Biomart 包中获取信息,我需要删除登录号后面的 .1.2 等。我通常使用以下代码执行此操作:

b <- sub("..*", "", a)

# [1] "" "" "" "" "" ""

但正如您所看到的,这不是该变量的正确方法。谁能帮我解决这个问题吗?

最佳答案

你只需要避开句点:

a <- c("NM_020506.1","NM_020519.1","NM_001030297.2","NM_010281.2","NM_011419.3", "NM_053155.2")

gsub("\\..*","",a)
[1] "NM_020506"    "NM_020519"    "NM_001030297" "NM_010281"    "NM_011419"    "NM_053155" 

关于删除 "."之后的部分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10617702/

相关文章:

c - 字符*如何工作?

c# - 如何从 C# 中的设置文件传递字符串文字

regex - 从命令行使用 git 属性

php - 如何替换 html 标签内的值?

r - 使用 R 中的 WinBUGS 时出错

r - 将列表转换为 R 中的数据框

jquery - 我可以在 jQuery.inArray() 中使用正则表达式吗

r - 将两个数据框与字符串中具有特定模式的列合并

根据另一个数据框中的单元格引用删除一个数据框中的值

使用 POSIX 字符类删除 R 中字符之间的下划线以外的所有标点符号