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

使用readr::parse_number提取带前导零数字的问题

保留前导零提取字符串中的数字

readr::parse_number会将提取到的内容转换为数值类型,自然会丢失前导零。要保留前导零,需要直接提取字符串形式的数字片段,推荐用正则表达式实现:

方法1:使用stringr包(tidyverse生态)

library(stringr)

str_extract("thankyouverymuch02", "\\d+")
#> [1] "02"

方法2:使用base R原生函数

regmatches("thankyouverymuch02", regexpr("\\d+", "thankyouverymuch02"))
#> [1] "02"

如果字符串包含多段数字,想要全部提取,可改用以下方式:

# stringr包
str_extract_all("abc03def123ghi007", "\\d+")[[1]]
#> [1] "03"  "123" "007"

# base R
regmatches("abc03def123ghi007", gregexpr("\\d+", "abc03def123ghi007"))[[1]]
#> [1] "03"  "123" "007"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 22:25:20