如何在R语言中提取字符串最后一个单词的首字符?
提取名称列表中最后一个单词的首字符
你已经能提取最后一个单词,要拿到它的首字符,有两种简单方法:
方法一:先取最后单词,再截首字符
先修正你代码里的小问题——你定义的是species向量,不是data$species,然后用substr()截取提取到的单词的第一个字符:
library(stringr) species <- c("ACHILLEA MILLEFOLIUM VAR. BOREALIS", "ACHILLEA MILLEFOLIUM VAR. MILLEFOLIUM", "ALLIUM SCHOENOPRASUM VAR. SIBIRICUM") # 提取最后一个单词 last_word <- str_extract(species, "\\w+$") # 截取首字符 result <- substr(last_word, 1, 1) result # 输出结果:[1] "B" "M" "S"
方法二:正则一步到位
直接用正则匹配最后一个单词的首字符,省去中间步骤:
library(stringr) species <- c("ACHILLEA MILLEFOLIUM VAR. BOREALIS", "ACHILLEA MILLEFOLIUM VAR. MILLEFOLIUM", "ALLIUM SCHOENOPRASUM VAR. SIBIRICUM") # 正则匹配空格后、单词开头的第一个字符(直到字符串结尾) result <- str_extract(species, "(?<=\\s)\\w(?=\\w*$)") result # 输出结果:[1] "B" "M" "S"
内容的提问来源于stack exchange,提问作者ifoxfoot
相关产品推荐
相关产品推荐

