Курс языка программирования 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 тест по содержанию этой темы.
Навигация по курсу
← Захваты в замене | Тест — Подстановка →
💪 Или перейдите сразу к упражнениям этого
раздела.