【问题标题】:Writing a Regex Expression for Extracting from a string [duplicate]编写用于从字符串中提取的正则表达式 [重复]
【发布时间】:2021-12-12 07:02:29
【问题描述】:

我在想我可以在 tidyverse 中使用 str_extract_all 或其他东西,但我不确定如何获取它,因为我的字符串返回的内容不正确。

这是字符串:

str <- "12, 47, 48 The integers numbers are also interesting: 189 2036 314 \',\' is a separator, so please extract these numbers 125,789,1450 and also these 564,90456. 7890$ per month "

【问题讨论】:

  • 你只是想提取报价中的每一个数字吗?

标签: r regex extract


【解决方案1】:

我们可以使用str_extract_all 来提取多个数字之一的多个实例 (\\d+)。输出将是长度为 1 的 list。因此,我们使用 [[ 提取 list 元素

library(stringr)
str_extract_all(string1, "\\d+")[[1]]

-输出

[1] "12"    "47"    "48"    "189"   "2036"  "314"   "125"   "789"   "1450"  "564"   "90456" "7890" 

【讨论】:

  • 我如何让它打印出每个数字在单独的鱼子上的位置?
  • @zeng 你可以用cat(str_extract_all(string1, "\\d+")[[1]], "\n")
【解决方案2】:

对于基本 R 选项,我们可以使用 regmatchesgregexpr

regmatches(string1, gregexpr("\\d+", string1))

[1] "12"    "47"    "48"    "189"   "2036"  "314"   "125"   "789"   "1450"  "564"   "90456" "7890"

【讨论】:

    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 2015-09-19
    • 2014-08-25
    相关资源
    最近更新 更多