从r中的字符串中提取数字 [英] Extract a number from a string in r
本文介绍了从r中的字符串中提取数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,如何从文本中提取两个破折号之间的数字?
Hello how can I extract a number that is between two dashes from a text?
这是一个示例数据集:
text.var <- c("abd-GEN-eft-na-M-D-BINED-10-XX1","abd-GEN-eft-na-M-D-BINED-2-XX2","abd-GEN-eft-na-M-D-BINED-3-XX1")
id <- c(1,2,3)
data <- data.frame("id"=id,"text"=text.var)
> data
id text
1 1 abd-DEF-eft-na-M-D-BINED-10-XX1
2 2 abd-DEF-eft-na-M-D-BINED-2-XX2
3 3 abd-DEF-eft-na-M-D-BINED-3-XX1
我想提取-"之间的数字.我期望的结果是:
I would like to extract the number between "-"s. My desired outcome would be:
> data
id text number
1 1 abd-DEF-eft-na-M-D-BINED-10-XX1 10
2 2 abd-DEF-eft-na-M-D-BINED-2-XX2 2
3 3 abd-DEF-eft-na-M-D-BINED-3-XX1 3
任何人都可以给些提示吗?
Can anyone give some hint?
谢谢
推荐答案
您可以使用字符串"包中的str_extract
函数:
You can use the str_extract
function from the "stringr" package:
library(stringr)
str_extract(text.var, "(?<=-)[0-9]+(?=-)")
(?< =)和(?=)是字符串向后看和向前看的选项.
The (?<= ) and (?= ) are the string look behind and look ahead options.
这篇关于从r中的字符串中提取数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文