gpt4 book ai didi

R - 仅用一个替换多个出现的字符。正则表达式

转载 作者:行者123 更新时间:2023-12-05 01:00:28 24 4
gpt4 key购买 nike

我有以下字符串

str<-"Actividades   Financieras && Bancarias #### 23"

我想删除多个空格、多个 && 和多个 #。我想得到:

Actividades Financieras & Bancarias # 23

到目前为止我已经尝试过

gsub("[^A-z0-9]+"," ",string)

我得到了

"Actividades Financieras Bancarias 23"

它会删除所有 # 和 &。

有没有办法保留一个字符。

谢谢。

最佳答案

你可以使用

string <- "Actividades   Financieras && Bancarias #### 23"
gsub("([#&\\s])\\1+", "\\1", string, perl=TRUE)
# => [1] "Actividades Financieras & Bancarias # 23"

regex demoonline R demo .

详情

  • ([#&\\s]) - 捕获组 1 匹配 #& 或空格
  • \\1+ - 对第 1 组值的反向引用匹配它 1 次或多次(由于 + 量词)。

匹配被一次捕获的字符替换(\1 占位符引用替换模式中的第 1 组值)。

关于R - 仅用一个替换多个出现的字符。正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49659918/

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