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

在R语言中用正则模式从字符串提取特定数字(Tidyverse方案优先)

使用Tidyverse提取目标数字

可以用stringr包(Tidyverse的核心成员之一)结合正则表达式实现,精准匹配Record: 之后、, Field之前的数字:

library(tidyverse)

test <- "owidhsf 2121 .Record: 1111, Field: kjhdlksd 22 33 455"

# 提取目标数字
extracted_num <- str_extract(test, "(?<=Record: )\\d+(?=, Field)")
print(extracted_num)
# 输出: "1111"

正则表达式说明:

  • (?<=Record: ):正向预查,确保匹配内容的前缀是Record: (该前缀不会被纳入提取结果)
  • \\d+:匹配一个或多个连续数字
  • (?=, Field):正向预查,确保匹配内容的后缀是, Field(该后缀也不会被纳入提取结果)

如果需要将提取结果转为数值类型,可追加as.numeric():

extracted_num <- str_extract(test, "(?<=Record: )\\d+(?=, Field)") %>% as.numeric()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:15:28