如何使用str_extract提取文件名中间三位数字及末尾字母
光照强度字段提取
你要匹配文件名中间被下划线包裹的三位数字,可以使用带前后预查的正则规则,代码如下:
mutate(light_intensity = str_extract(file, pattern = "(?<=_)\\d{3}(?=_)"))
正则说明:(?<=_)是正向回顾预查,限定数字前必须有下划线;\\d{3}匹配连续3位数字;(?=_)是正向先行预查,限定数字后必须有下划线,避免误取日期段里的数字片段。
处理组字段提取
你要匹配文件名末尾的字母,直接匹配字符串结尾的字母即可,代码如下:
mutate(treatment_group = str_extract(file, pattern = "[[:alpha:]]$"))
正则说明:$表示匹配字符串末尾位置,确保提取的是文件名最后的处理组标识。如果后续处理组命名可能出现多字母(比如CK、WT),可以调整正则为(?<=_)[[:alpha:]]+$,适配性更强。
内容的提问来源于stack exchange,提问作者Emie Woodburn
相关产品推荐
相关产品推荐

