You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中使用str_extract()提取两个字符间的数字

提取指定位置的数字

首先加载stringr包(未安装的话先运行install.packages("stringr")):

library(stringr)

使用str_extract()结合正则表达式精准提取目标数字:

a = "234  4dfd 123PUBMED   32634600\nREFERENCE"
target_num <- str_extract(a, "(?<=PUBMED\\s+)\\d+(?=\\nREFERENCE)")
target_num
# 输出结果:[1] "32634600"

正则说明

  • (?<=PUBMED\\s+):后行断言,限定匹配内容必须紧跟在PUBMED及后续一个或多个空白字符之后
  • \\d+:匹配连续的数字序列,也就是我们要提取的目标值
  • (?=\\nREFERENCE):先行断言,限定匹配内容必须在换行符\n和REFERENCE之前

如果PUBMED与数字、数字与\nREFERENCE之间的空白数量不确定(比如可能有零个或多个),可以调整正则为:

str_extract(a, "(?<=PUBMED\\s*)\\d+(?=\\s*\\nREFERENCE)")

内容的提问来源于stack exchange,提问作者zhiwei li

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:27:25