删除R中长度大于X的单词

OmG*_*esh -1 regex r corpus gsub

在我删除标点符号,数字和非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
Run Code Online (Sandbox Code Playgroud)

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

max(nchar(strsplit(ques1, " ")[[1]]))
[1] 35
Run Code Online (Sandbox Code Playgroud)

现在,我要删除包含10个以上字符的单词,因为我不希望使用这些单词,例如

wwwhotmailcomlearnbyexample
Run Code Online (Sandbox Code Playgroud)

请帮帮我!

Wik*_*żew 5

使用以下gsub:

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

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

IDEONE演示