You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:05:23