我有一个由字符串列表组成的向量,这些字符串是名字和缩写的组合,我想摆脱缩写
尝试了sub()
和strsplit()
,但没有用
name <- data.frame(c("Jones B", "Mike M", "Goods R.I"))
"Jones" "Mike" "Goods"
答案 0 :(得分:3)
我们可以使用sub
来匹配一个或多个空格(\\s+
),然后是字符(.*
)并用空格(""
)代替
sub("\\s+.*", "", name[[1]])
#[1] "Jones" "Mike" "Goods"
如果我们需要紧凑性
library(stringr)
word(name[[1]], 1)
#[1] "Jones" "Mike" "Goods"
答案 1 :(得分:2)
假设您要在第一个空格之前输入单词,还可以使用stringi
包:
library(stringi)
stri_extract_first_words(c("Jones B", "Mike M", "Goods R.I"))
[1] "Jones" "Mike" "Goods"