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

卡米洛耶特

我有以下字符串

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演示在线R演示

细节

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

R:从第一个字符到字符串末尾的正则表达式

正则表达式提取R-tidyverse-stringr中没有前缀或后缀字符串的一个字符串

正则表达式-根据前两个字符替换单词-R

用两个字符替换一个字符(\ n用\ r \ n)也替换了替换字符之一

使用 R 正则表达式识别两个字符后跟一个破折号和两个数字

如何仅替换R中多个变量名称的最后一个字符?

R 如何计算一个字符串向量在另一个字符串向量中的出现次数

如何替换所选正则表达式的最后一个字符?

正则表达式匹配多个空格,直到一个字符

正则表达式用最后一个字符验证

用正则表达式替换另一个字符串

用另一个字符串替换相同模式的正则表达式

在 R 中的多个句子中分隔一个字符

两个字符串之间或字符串末尾的R正则表达式

R,stringer-用一个命令替换向量所有元素中的多个字符

Notepad ++中的正则表达式:用正则表达式部分的第一个字符替换

在R中的一个gsub()或chartr()语句中替换多个字符串?

正则表达式:选择一个字符的每次出现,直到另一个字符

R中两个字符之间长度可变的单词的正则表达式

R正则表达式:如何提取按特定顺序包含两个字符的元素?

如何计算R中列的每个字符串的第一个字符的出现次数

R-组合两个字符向量,然后截断最后一个字符

基于 R 中一个字符串列的多个条件创建一个新列

将多个字符串连接到R中的一个字符串中

R:将多个字符串更改为另一个字符串

使用正则表达式替换匹配字符串的最后一个字符

正则表达式匹配任何单个字符(仅一个字符)

正则表达式匹配一个字符或单个字符的重复

正则表达式表达大写的第一个字符