加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 如何在R中提取字符之间的数字

发布时间:2020-12-13 22:53:24 所属栏目:百科 来源:网络整理
导读:我有不同的字符向量包含字符串,如“p.L86 *”,“p.A59fs * 4”,“p.E309 *”等.每个都有不同的数字.我只想提取字符之间的第一个数字,所以预期的解决方案是86,59,309. 我尝试了gsub(“[^ 0-9]”,“”,“p.A59fs * 4”),但它会保存所有数字…… 您可以使用sub
我有不同的字符向量包含字符串,如“p.L86 *”,“p.A59fs * 4”,“p.E309 *”等.每个都有不同的数字.我只想提取字符之间的第一个数字,所以预期的解决方案是86,59,309.

我尝试了gsub(“[^ 0-9]”,“”,“p.A59fs * 4”),但它会保存所有数字……

您可以使用sub来获得第一个匹配结果:
x <- c('p.L86*','p.A59fs*4','p.E309*')
sub('D*(d+).*','1',x)
# [1] "86"  "59"  "309"

或者回退到stringi包并匹配它们:

stri_extract_first_regex(x,'d+')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读