正则表达式 – 从R中的字符串中提取数字模式
发布时间:2020-12-14 06:06:19 所属栏目:百科 来源:网络整理
导读:我对正则表达式比较陌生,而且我正陷入死胡同.我有一个数据框,其列如下所示: year1GMM14_2000_NGVAGMM14_2001_NGVAGMM14_2002_NGVA...GMM14_2014_NGVA 我试图在字符串中间提取年份(2000,2001等).到目前为止,这是我的代码 gsub("[^0-9]","",year1)) 返回数字,
我对正则表达式比较陌生,而且我正陷入死胡同.我有一个数据框,其列如下所示:
year1 GMM14_2000_NGVA GMM14_2001_NGVA GMM14_2002_NGVA ... GMM14_2014_NGVA 我试图在字符串中间提取年份(2000,2001等).到目前为止,这是我的代码 gsub("[^0-9]","",year1)) 返回数字,但它也返回14作为字符串的一部分: 142000 142001 有关如何从模式中排除14或如何更有效地提取年份信息的任何想法? 谢谢 解决方法
使用以下gsub:
s = "GMM14_2002_NGVA" gsub("^[^_]*_|_[^_]*$",s) 见IDEONE demo 正则表达式细分: 比赛… > ^ [^ _] * _ – 从字符串和a_开头的_以外的0个或更多字符 并删除它们. 作为备选, library(stringr) str_extract(s,"(?<=_)d{4}(?=_)") Perl-like正则表达式匹配用下划线括起来的4位子字符串. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |