我在 vector 中有一些字符串,例如:
x <- c("ROH_Pete_NA_1_2017.zip",
"ROH_Annette_SA_2_2016.zip",
"ROH_Steve_MF_4_2015.zip")
我需要从
strings (Pete, Annette, Steve)
中提取名称我想用
str_extract()
循环执行此操作所有字符串都以
ROH_
开头,但名称的长度不同,后面的字符串也不同。我想使用
str_extract()
,但我也对其他解决方案感到满意感谢您的帮助。
最佳答案
使用str_match
可能会更好,因为这允许捕获组。
因此,您可以在上下文的任一侧添加_
,但仅返回您感兴趣的位。(\\w+?)
是捕获组,并且str_match
将其作为第二列,因此是[,2]
(第一列是str_extract
将返回的内容)。
library(stringr)
str_match(x,"ROH_(\\w+?)_")[,2]
[1] "Pete" "Annette" "Steve"
关于r - R使用str_extract(stringr)导出 “_”之间的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46665004/