Попытаюсь объяснить как работает. Итак: возьмем и представим строку как последовательность символов |-|-||-|-|-|-|
, |
- это наш разделитель. Алгоритм идет слева направо, таким образом, когда он найдет первый элемент, в итоговый массив он положит всё, что левее этого символа, то есть пустую строку. Но тогда почему между слов встречается всего 1 «разрыв»? Это возникает из-за того, что разделитель встречается дважды. С последним элементом происходит схожий алгоритм действий, что и с первым, только в данном случае, в итоговый массив попадет оставшаяся правая часть.