我有这个变量:
names<-c("Sophia Abbe", "Olivia Abbett", "Emma Abbey", "Ava Abbitt", "Isabella Abbot", "Mia Abbott", "Aria Abbs")
我要缩写名字并将其放入向量中。
我想获得一个矢量(“ S. Abbe”,“ O。Abbett”,...,“ A。Abbs”)
使用字符串函数str_c(),str_split()和str_sub()的有效方法是什么?
答案 0 :(得分:2)
通过匹配小写字母并在sub
中用.
替换base R
的选项
sub("[a-z]+", ".", names)
#[1] "S. Abbe" "O. Abbett" "E. Abbey" "A. Abbitt" "I. Abbot" "M. Abbott" "A. Abbs"
在此[a-z]+
匹配一个或多个低位字符块,即第一个单词中的字符块(因为我们使用的是sub
),并替换为""
或使用str_replace
library(stringr)
str_replace(names, "[a-z]+", ".")