Курс Raku / Регулярні вирази та граматики / Регулярні вирази / Підстановка та заміна
Транслітерація
Коли потрібно замінити окремі символи, а не цілий
шаблон, скористайтеся оператором транслітерації tr///. Він
відображає кожен символ із першого набору на символ, що стоїть на тій
самій позиції у другому наборі:
my $s = 'hello';
$s ~~ tr/a..z/A..Z/;
say $s; # HELLOКожна мала літера замінюється великою літерою з відповідної позиції другого діапазону, тож усе слово записується великими літерами.
Обидва набори зіставляються символ за символом. Невеликий приклад, що зсуває три літери:
my $s = 'abcabc';
$s ~~ tr/abc/xyz/;
say $s; # xyzxyzТут кожне a стає x, кожне b —
y, а кожне c — z.
Транслітерація — правильний інструмент для відображень на рівні
символів: зміни регістру, заміни невеликого алфавіту або кодування. Для
всього, що залежить від шаблону, а не від окремих символів,
використовуйте s///.
Практика
Виконайте 1 тест за змістом цієї теми.
Навігація курсом
← Захоплення в заміні | Тест — Підстановка →
💪 Або перейдіть одразу до вправ цього
розділу.