Курс языка программирования Raku / Продвинутый уровень / Подробнее о встроенных типах / Строки

Разделение и объединение

Строки можно разбивать на части и соединять обратно несколькими способами.

Метод words разбивает строку на список слов, разделённых пробелами:

say 'Hello big World'.words; # (Hello big World)

Метод split разбивает строку по выбранному вами разделителю:

say 'a,b,c'.split(','); # (a b c)

Важный частный случай — разбиение по пустой строке '': оно разбивает строку на отдельные символы, но при этом добавляет пустую строку в самое начало и в самый конец, так что результат содержит на два элемента больше, чем вы могли бы ожидать:

say 'abc'.split('').elems;        # 5 — the three letters, plus an empty string at each end
say 'abc'.split('', :skip-empty); # (a b c) — the :skip-empty adverb drops the empties

Для разбиения на символы метод comb, вызванный без аргументов, делает это напрямую — без лишних пустых строк, которые нужно убирать:

say 'Raku'.comb; # (R a k u)

Для обратного действия метод join склеивает список значений в одну строку, помещая разделитель между ними:

say <a b c>.join('-'); # a-b-c

Ещё два метода работают с частями строки. Метод substr извлекает фрагмент, принимая начальную позицию и, опционально, длину:

say 'Hello World'.substr(0, 5); # Hello
say 'Hello World'.substr(6);    # World

А trim удаляет пробельные символы с обоих концов строки:

say '  hi  '.trim; # hi

Навигация по курсу

Тест — index   |   Перевернуть и прокричать


💪 Или перейдите сразу к упражнениям этого раздела.