Курс по 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 тест върху съдържанието на тази тема.

Навигация в курса

Прихващания в замяната   |   Тест — Заместване


💪 Или преминете направо към упражненията в този раздел.