Я думаю, что вам больше всего подходит разделение строки на слова.В этом случае лучшим вариантом будет функция String::split
.Он принимает регулярное выражение, совпадающее с подстрокой, которое должно разбить исходную строку на элементы массива .
В вашем случае это должны быть "некоторые не алфавитные символы".Буквенный класс символов обозначается [:alpha:]
.Итак, вот пример того, что вам нужно:
irb(main):001:0> "asd, < er >w , we., wZr,fq.".split(/[^[:alpha:]]+/)
=> ["asd", "er", "w", "we", "wZr", "fq"]
Вы можете дополнительно отфильтровать результат, пересекая результирующий массив с массивом, который содержит только английские слова:
irb(main):001:0> ["asd", "er", "w", "we", "wZr", "fq"] & ["we","you","me"]
=> ["we"]