gpt4 book ai didi

替换文本中大于5位的数字

转载 作者:行者123 更新时间:2023-12-03 15:34:42 24 4
gpt4 key购买 nike

a <- c("this is a number 9999333333 and i got 12344")
如何将大于5位的数字替换为多余的数字“X”
预期产量:
"this is a number 99993XXXXX and i got 12344"
我试过的代码:
gsub("(.{5}).*", "X", a)

最佳答案

您可以将gsub与PCRE正则表达式一起使用:

(?:\G(?!^)|(?<!\d)\d{5})\K\d
参见 regex demo。细节:
  • (?:\G(?!^)|(?<!\d)\d{5})-上一次成功匹配的末尾(\G(?!^))或(|)一个不以数字((?<!\d))开头的位置,然后是任意五个数字
  • \K-匹配重置运算符,舍弃到目前为止匹配的所有文本
  • \d-一个数字。

  • 参见 R demo:
    a <- c("this is a number 9999333333 and i got 12344")
    gsub("(?:\\G(?!^)|(?<!\\d)\\d{5})\\K\\d", "X", a, perl=TRUE)
    ## => [1] "this is a number 99993XXXXX and i got 12344"

    关于替换文本中大于5位的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63777494/

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