gpt4 book ai didi

regex - 在最后一次出现数字时拆分,取第二部分

转载 作者:行者123 更新时间:2023-12-04 14:03:58 25 4
gpt4 key购买 nike

如果我有一个字符串并想在最后一位拆分并保留拆分 hpw 的最后一部分,我可以这样做吗?

x <- c("ID", paste0("X", 1:10, state.name[1:10]))

我想要
 [1] NA            "Alabama"     "Alaska"      "Arizona"     "Arkansas"   
[6] "California" "Colorado" "Connecticut" "Delaware" "Florida"
[11] "Georgia"

但会满足于:
 [1] "ID"          "Alabama"     "Alaska"      "Arizona"     "Arkansas"   
[6] "California" "Colorado" "Connecticut" "Delaware" "Florida"
[11] "Georgia"

我可以通过以下方式获得第一部分:
unlist(strsplit(x, "[^0-9]*$"))

但是想要第二部分。

先感谢您。

最佳答案

您可以使用正则表达式轻松完成这一步骤:

gsub("(^.*\\d+)(\\w*)", "\\2", x)

结果是:
 [1] "ID"          "Alabama"     "Alaska"      "Arizona"     "Arkansas"    "California"  "Colorado"    "Connecticut"
[9] "Delaware" "Florida" "Georgia"

正则表达式的作用:
  • "(^.*\\d+)(\\w*)" : 寻找两组字符。
  • 第一组(^.*\\d+)在字符串的开头查找任何数字,后跟至少一个数字。
  • 第二组\\w*查找字母数字字符。
  • "\\2"作为 gsub() 的第二个参数表示用正则表达式找到的第二组替换原始字符串。
  • 关于regex - 在最后一次出现数字时拆分,取第二部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10731923/

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