【问题标题】:delete the words with length greater than X in R删除R中长度大于X的单词
【发布时间】:2015-09-21 13:57:17
【问题描述】:

在我删除标点符号、数字和非 ascii 字符后的 R 编程中,我保留了许多长字符的单词:

ques1<-gsub("[[:digit:]]"," ", ques1,perl=TRUE)
ques1<-gsub("[[:punct:]]"," ", ques1,perl=TRUE)

ques1<-iconv(ques1, "latin1", "ASCII", sub=" ")
ques1<-rm_white(ques1)
ques1

我检查了最长的字符长度是 35 使用

max(nchar(strsplit(ques1, " ")[[1]]))
[1] 35

现在,我想删除超过 10 个字符的单词,因为我不想要它们,例如

wwwhotmailcomlearnbyexample

请帮帮我!!!

【问题讨论】:

  • 为什么不提供一个可重现的例子?
  • Prolly ques1[ nchar(ques1) &lt;= 10 ]

标签: regex r gsub corpus


【解决方案1】:

使用以下 gsub:

ques1 = "A long sentence with long wwwhotmailcomlearnbyexample"
gsub("\\b[[:alpha:]]{11,}\\b", "", ques1, perl=T)

\\b[[:alpha:]]{11,}\\b 正则表达式将匹配长度为 11 或更长的单词(\\b 是单词边界,[:alpha:] 代表任何字母)。

IDEONE demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-09
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-03
    • 1970-01-01
    相关资源
    最近更新 更多