Курс Raku / Розширені / Докладніше про вбудовані типи / Рядки

Розділення та об’єднання

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

Метод words розбиває рядок на список слів, розділених пробільними символами:

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

Метод split розбиває рядок за обраним вами роздільником:

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

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

say 'abc'.split('').elems;        # 5 — три літери плюс порожній рядок з кожного боку
say 'abc'.split('', :skip-empty); # (a b c) — наріччя :skip-empty відкидає порожні

Щоб розбити на символи, метод 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   |   Перевернути та прокричати


💪 Або перейдіть одразу до вправ цього розділу.