删除向量的字符串元素中空格之后的部分

时间:2019-06-27 17:38:45

标签: r string

我有一个由字符串列表组成的向量,这些字符串是名字和缩写的组合,我想摆脱缩写

尝试了sub()strsplit(),但没有用

name <- data.frame(c("Jones B", "Mike M", "Goods R.I"))

"Jones" "Mike" "Goods"

2 个答案:

答案 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"