Я уже некоторое время ищу ответ на этот вопрос в Ruby и не нашел хорошего решения. Я пытаюсь понять, как разбить строку, когда следующий символ не совпадает с предыдущим, и передать группировки в массив. то есть.
'aaaabbbbzzxxxhhnnppp'
становится
['aaaa', 'bbbb', 'zz', 'xxx', 'hh', 'nn', 'ppp']
Я знаю, что мог бы просто перебирать каждый символ в строке и проверять наличие изменений, но мне любопытно, есть ли что-нибудь встроенное, что могло бы справиться с этим элегантным способом.