提取 | 之间的最后一个单词| [英] Extract the last word between | |

查看:47
本文介绍了提取 | 之间的最后一个单词|的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下数据集

> head(names$SAMPLE_ID)
[1] "Bacteria|Proteobacteria|Gammaproteobacteria|Pseudomonadales|Moraxellaceae|Acinetobacter|"
[2] "Bacteria|Firmicutes|Bacilli|Bacillales|Bacillaceae|Bacillus|"                            
[3] "Bacteria|Proteobacteria|Gammaproteobacteria|Pasteurellales|Pasteurellaceae|Haemophilus|" 
[4] "Bacteria|Firmicutes|Bacilli|Lactobacillales|Streptococcaceae|Streptococcus|"             
[5] "Bacteria|Firmicutes|Bacilli|Lactobacillales|Streptococcaceae|Streptococcus|"             
[6] "Bacteria|Firmicutes|Bacilli|Lactobacillales|Streptococcaceae|Streptococcus|" 

我想提取 || 之间的最后一个单词作为一个新变量,即

I want to extract the last word between || as a new variable i.e.

Acinetobacter
Bacillus
Haemophilus

我试过使用

library(stringr)
names$sample2 <-   str_match(names$SAMPLE_ID, "|.*?|")

推荐答案

我们可以使用

library(stringi)
stri_extract_last_regex(v1, '\\w+')
#[1] "Acinetobacter"

数据

v1 <- "Bacteria|Proteobacteria|Gammaproteobacteria|Pseudomonadales|Moraxellaceae|Acinetobacter|"

这篇关于提取 | 之间的最后一个单词|的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆