gpt4 book ai didi

regex - 从 R 中的字母数字字符中删除前导零

转载 作者:行者123 更新时间:2023-12-04 00:06:35 25 4
gpt4 key购买 nike

我有一个字符向量 d带有字母数字字符

d <- c("012309 template", "separate 00340", "00045", "890 098", "3405 garage", "matter00908")

d
[1] "012309 template" "separate 00340" "00045" "890 098" "3405 garage" "matter00908"

如何从 R 中的所有数字中删除前导零?
as.numeric将仅删除数字或整数向量中的所有前导零。我试过 gsubregex但无法得到想要的结果。

预期输出如下
out <- c("12309 template", "seperate 340", "45", "890 98", "3405 garage", "matter908")
out
[1] "12309 template" "seperate 340" "45" "890 98" "3405 garage" "matter908"

最佳答案

除非前面有数字,否则您可以使用负后视来消除 0:

> d <- c("100001", "012309 template", "separate 00340", "00045", "890 098", "3405 garage", "matter00908")
> gsub("(?<![0-9])0+", "", d, perl = TRUE)
[1] "100001" "12309 template" "separate 340" "45"
[5] "890 98" "3405 garage" "matter908"

使用正则表达式的另一种方法:
> gsub("(^|[^0-9])0+", "\\1", d, perl = TRUE)
[1] "100001" "12309 template" "separate 340" "45"
[5] "890 98" "3405 garage" "matter908"
>

关于regex - 从 R 中的字母数字字符中删除前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23538576/

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