加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

R正则表达式中的双重结肠

发布时间:2020-12-14 05:56:26 所属栏目:百科 来源:网络整理
导读:目标是删除字符串中的所有非大写字母,我设法找到一个正则表达式解决方案,而不完全理解它. gsub("[^::A-Z::]","","PendingApproved")[1] "PA" 我尝试在R中读取documentation的正则表达式,但双重冒号并没有真正覆盖在那里. []包括在正则表达式中匹配的字符,A-Z
目标是删除字符串中的所有非大写字母,我设法找到一个正则表达式解决方案,而不完全理解它.

> gsub("[^::A-Z::]","","PendingApproved")
[1] "PA"

我尝试在R中读取documentation的正则表达式,但双重冒号并没有真正覆盖在那里.

[]包括在正则表达式中匹配的字符,A-Z表示大写,^表示不,有人可以帮助我理解那里的双冒号是什么?

解决方法

据我所知,你不需要那些双冒号:

gsub("[^A-Z]","PendingApproved")
[1] "PA"

您当前的模式表示删除任何不是A-Z或冒号的字符:.在字符范围的每一边重复冒号两次这一事实不会增加任何额外的逻辑.

也许您使用的代码的作者将双冒号与R的正则表达式自己的语法混淆为命名字符类.例如,我们可以将上面的内容写成:

gsub("[^[:upper:]]","PendingApproved")

其中[:upper:]表示所有大写字母.

Demo

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读