Используя grep, чтобы найти две буквы в определенном порядке в R - PullRequest
0 голосов
/ 03 октября 2018

Для начала

words <- c("bait", "gait","quit","suit","wait","spit","twit") 

Я хотел бы написать функцию grep (), которая возвращает слова, которые рифмуются с "it" ... в этом случае она вернет:

"бросить", "плюнуть" и "пошло"

, но не

"приманка", "костюм" или "ждать"

Пока я застрял натот, который не может различить:

grep("[^a][i][t]$", words, value = T) 

А другой, который ошибочно удаляет "выход"

grep("[^su|a][i][t]$", words, value =T )

Я уверен, что здесь есть легкое, но я его не вижу,Спасибо!

1 Ответ

0 голосов
/ 03 октября 2018

Я думаю, что вы хотите указать, что окончательному 'it' предшествует либо согласный (не гласный), либо 'qu'.Итак ...

grep("(qu|[^aeiou])it$", words, value=T)
[1] "quit" "spit" "twit"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...