【问题标题】:stringr extract full number from stringstringr 从字符串中提取完整的数字
【发布时间】:2026-02-05 10:50:01
【问题描述】:

来自?stringr::str_extract,我试过了

 library(stringr)
 str_extract("number 123", "\\d")
 # [1] "1"

但我想要完整的号码123。我找不到正确的正则表达式或执行此任务的其他函数。我的解决方法有点丑,

as.numeric(str_split("number 123", " ")[[1]][2])
# [1] 123

【问题讨论】:

    标签: string r


    【解决方案1】:

    对于这个特定示例,以下正则表达式有效:

    pat <- "(\\d)+"
    as.numeric(str_extract("number 123", pat))
    # [1] 123
    

    如果您只想选择终止它们所在的文本字符串的数字,请将$ 添加到上述模式的末尾。

    【讨论】:

    • 只有在使用 str_match 时才需要引号。