gpt4 book ai didi

r - 基于变异内匹配正则表达式的条件 str_replace?

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

对于匹配 regex("[:alpha:]{2}AL") 的“district”列的任何条目,我想用“01”替换“AL”。

例如:

df <- tibble(district = c("NY14", "MT01", "MTAL", "PA10", "KS02", "NDAL", "ND01", "AL02", "AL01"))

我试过:

  df %>% mutate(district=replace(district, 
str_detect(district, regex("[:alpha:]{2}AL")),
str_replace(district,"AL","01")))

  df %>% mutate(district=replace(district, 
str_detect(district, regex("[:alpha:]{2}AL")),
paste(str_sub(district, start = 1, end = 2),"01",sep = ""))

但是有一个矢量化问题。

最佳答案

这样可以吗?

str_replace_all(string=df$district,
pattern="(\\w{2})AL",
replacement="\\101")

我用 \\w 替换了正则表达式,一个单词字符:https://www.regular-expressions.info/shorthand.html

我正在使用 \\1 来指示用第一个捕获区域替换字符串,该区域在 (\\w{2}) 中捕获,所以保留前 2 个字母然后添加 01

关于r - 基于变异内匹配正则表达式的条件 str_replace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58030662/

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