Курс 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, кожне by, а кожне cz.

Транслітерація — правильний інструмент для відображень на рівні символів: зміни регістру, заміни невеликого алфавіту або кодування. Для всього, що залежить від шаблону, а не від окремих символів, використовуйте s///.

Практика

Виконайте 1 тест за змістом цієї теми.

Навігація курсом

Захоплення в заміні   |   Тест — Підстановка


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