gpt4 book ai didi

正则表达式从 R 中的字符串中删除所有非数字符号

转载 作者:行者123 更新时间:2023-12-02 15:10:16 28 4
gpt4 key购买 nike

如何从具有 xxxx.x 或 xxxx.x-x 结构的字符串中提取数字并将它们组合为数字?例如

list <- c("1010.1-1", "1010.2-1", "1010.3-1", "1030-1", "1040-1",
"1060.1-1", "1060.2-1", "1070-1", "1100.1-1", "1100.2-1")

所需的(数字)输出将是:

101011, 101021, 101031...

我试过了

regexp <- "([[:digit:]]+)"
solution <- str_extract(list, regexp)

然而,这只会提取第一组数字;并使用类似的东西

regexp <- "([[:digit:]]+\\.[[:digit:]]+\\-[[:digit:]]+)"

如果匹配则返回第一个结果(初始形式的数据),否则 NA 较短的字符串。想法?

最佳答案

删除所有非数字符号:

list <- c("1010.1-1", "1010.2-1", "1010.3-1", "1030-1", "1040-1", "1060.1-1", "1060.2-1", "1070-1", "1100.1-1", "1100.2-1")
as.numeric(gsub("\\D+", "", list))
## => [1] 101011 101021 101031 10301 10401 106011 106021 10701 110011 110021

参见 R demo online

关于正则表达式从 R 中的字符串中删除所有非数字符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44576480/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com