Удалить слова с длиной больше X в R
В программировании на R после того, как я удалил знаки препинания, цифры и символы не ascii, у меня осталось много слов с длинными символами:
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
Пожалуйста, помогите мне!
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