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