05AB1E, 10 99 7 bytes
-1 byte inspired by Jonathan Allans Jelly answer.
-2 bytes thanks to Kevin Cruijssen!
Input is a list of characters.
€aγOʒĀ}aγO0K.M Commented:
€a0¡OʒĀ}aγO0K.M implicit input "ab["a","b"," cd","c","d"," e.","e","."] €a a map is_alpha (vectorizes)[1, 1, 0, 0, 1, 1, 0, 1, 0] γ split into chunks of equal elements [[1, 1], [0, 0], [1, 1], [0], [1], [0]] O sum the lists [2, 0, 2, 0, 1, 0] ʒ } filter on ... 0K [2, 2,remove 1]0's Ā ... Python-style truthy (0 is false) M mode .M mode 2 2 implicit output implicit ouput2 a is implemented as Regex.match?(~r/^[a-zA-Z]+$/, to_string(x)), which should be equivalent to the challenge specification.
I feel like there has to be a shorter way to remove 0s from a list than ʒĀ}.I feel like there has to be a shorter way to remove 0s from a list than ʒĀ}.