gpt4 book ai didi

r - R 正则表达式中的双冒号

转载 作者:行者123 更新时间:2023-12-04 10:12:55 26 4
gpt4 key购买 nike

目标是删除字符串中的所有非大写字母,我设法在没有完全理解的情况下找到了正则表达式解决方案。

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

我试图阅读 documentation R 中的正则表达式,但双冒号并未真正覆盖在那里。
[]包括要在正则表达式中匹配的字符, A-Z表示大写和 ^意思是不是,有人能帮我理解那里的双冒号是什么吗?

最佳答案

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

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

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

也许您使用的代码的作者将双冒号与 R 的正则表达式自己的命名字符类语法混淆了。例如,我们可以将上面的内容写成:
gsub("[^[:upper:]]","", "PendingApproved")

哪里 [:upper:]表示所有大写字母。

Demo

关于r - R 正则表达式中的双冒号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51572775/

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