我想知道你是否可以帮我用R提取字符串的一部分。我有一些列d包含以下元素:
d<-
[1] Homo sapiens (Human)
[2] Pan troglodytes (Chimpanzee)
[3] Pan troglodytes (Chimpanzee)
[4] Nomascus leucogenys (Northern white-cheeked gibbon) (Hylobates leucogenys)
[5] Macaca fascicularis (Crab-eating macaque) (Cynomolgus monkey)
[6] Macaca mulatta (Rhesus macaque)
[7] Macaca mulatta (Rhesus macaque)
[8] Callithrix jacchus (White-tufted-ear marmoset)
我想在括号前选择所有内容,即答案是
d<-
[1] Homo sapiens
[2] Pan troglodytes
[3] Pan troglodytes
[4] Nomascus leucogenys
[5] Macaca fascicularis
[6] Macaca mulatta
由于
答案 0 :(得分:3)
R中最简单的方法是删除从括号开始的所有内容(包括前面的空格,如果有的话):
result = sub(' *\\(.*$', '', d)
答案 1 :(得分:3)
此外,stringr是一个很棒的包。
library(stringr)
s <- "Homo sapiens (Human)"
t <- str_match(s, "^(.+)\\s\\(")[2]
t
[1] "Homo sapiens"