【发布时间】:2020-10-22 07:35:23
【问题描述】:
我的字符串看起来像这样:
a <- c("miRNA__hsa-mir-521-3p.iso.t5:", "miRNA__hsa-mir-947b.ref.t5:")
我只想提取中间部分,例如。 hsa-mir-521-3p 和 hsa-mir-947b
到目前为止,我已经尝试了以下方法:
a1 <- substr(a, 8,21)
[1] "hsa-mir-521-3p" "hsa-mir-947b.r"
这显然不起作用,因为我想要的子字符串有不同的长度
a2 <- sub('miRNA__', '', a)
[1] "hsa-mir-521-3p.iso.t5:" "hsa-mir-947b.ref.t5:"
这可以删除上游字符串 (“miRNA__”),但我仍然需要删除下游字符串
有人可以建议我还可以尝试什么,或者是否有更简单的方法来实现这一目标?我还在学习如何使用 R 进行编码。非常感谢!
【问题讨论】:
-
在第二个字符串示例
hsa-mir-947-8p中,8p不在向量a(hsa-mir-947b.ref.t5:) 中。你能纠正这个吗? -
@iago 你说得对!谢谢你指出。我在这里犯了一个错误。它应该是 hsa-mir-947b。我已经编辑了我的问题