gpt4 book ai didi

regex - 使用正则表达式提取R中特定长度的单词

转载 作者:行者123 更新时间:2023-12-03 15:31:14 27 4
gpt4 key购买 nike

我有一个类似(我得到here)的代码:

m<- c("Hello! #London is gr8. I really likewhatishappening here! The alcomb of Mount Everest is excellent! the aforementioned place is amazing! #Wow")

x<- gsub("\\<[a-z]\\{4,10\\}\\>","",m)
x

我尝试了其他方式,例如
m<- c("Hello! #London is gr8. I really likewhatishappening here! The alcomb of Mount Everest is excellent! the aforementioned place is amazing! #Wow")

x<- gsub("[^(\\b.{4,10}\\b)]","",m)
x

我需要删除长度小于4或大于10的单词。我要去哪里错了?

最佳答案

  gsub("\\b[a-zA-Z0-9]{4,10}\\b", "", m) 
"! # is gr8. I likewhatishappening ! The of is ! the aforementioned is ! #Wow"

让我们解释一下正则表达式术语:
  • \b在称为“单词边界”的位置匹配。此匹配为零长度。
  • [a-zA-Z0-9]:字母数字
  • {4,10}:{min,max}

  • 如果您想对此取反,则将其放在()之间,并取//1
    gsub("([\\b[a-zA-Z0-9]{4,10}\\b])", "//1", m) 

    “你好!#伦敦是gr8。我真的很喜欢这里发生的事情!珠穆朗玛峰的蜂窝非常棒!上述地方真是太棒了!#哇!”

    有趣的是,在2个正则表达式中存在4个字母的单词。

    关于regex - 使用正则表达式提取R中特定长度的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13797280/

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