gpt4 book ai didi

regex - 转换为数字 : simplify 2 calls of gsub to one

转载 作者:行者123 更新时间:2023-12-01 05:03:32 25 4
gpt4 key购买 nike

我想将字母数字向量转换为数字向量。现在,我正在使用正则表达式,但有 2 次调用 gsub :

## wrapping this in function 
to_numeric <-
function(x) gsub(',','.',gsub("[^(\\d|,)]","",x,perl=TRUE))
## call it
to_numeric(c('a12,12','Atr 145 ',' 14 5,1 4A'))
## [1] "12.12" "145" "145.14"

如何使用唯一的正则表达式或任何其他方法将其简化为一次调用?
提前致谢。

最佳答案

如果使用基本 R,则需要使用级联调用来进行不同的替换。

但是,您可以使用 gsubfn包,使用替换列表简化它。

library(gsubfn)

x <- c('a12,12', 'Atr 145 ', ' 14 5,1 4A')

gsubfn('\\D+', list(',' = '.', ''), x)
# [1] "12.12" "145" "145.14"

关于regex - 转换为数字 : simplify 2 calls of gsub to one,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31135813/

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