Kurso de Raku / Regulesprimoj kaj gramatikoj / Regulesprimoj / Anstataŭigo kaj interŝanĝo
La operatoro de anstataŭigo
La operatoro de anstataŭigo estas s///. Ĝi aspektas kiel
kongruo kun dua fako: la ŝablono iras inter la unuaj du oblikvoj kaj la
anstataŭa teksto inter la lastaj du:
my $s = 'hello world';
$s ~~ s/world/Raku/;
say $s; # hello RakuAnstataŭigo ŝanĝas la variablon surloke, do
$s mem estas ĝisdatigita. La teksto en la anstataŭa parto
estas laŭlitera — vi ne metas ĝin en citilojn.
Kiel kongruigo, anstataŭigo tuŝas nur la unuan
aperon defaŭlte. Aldonu la adverbon :g por anstataŭigi ĉiun
aperon:
my $s = 'a-b-c';
$s ~~ s:g/'-'/_/;
say $s; # a_b_cSe vi volas konservi la originalon kaj produkti ŝanĝitan
kopion anstataŭ modifi surloke, uzu la
majusklan operatoron S///: ĝi faras la
anstataŭigon kaj redonas la ŝanĝitan ĉenon, lasante la originalon
netuŝita. Ĉar ĝi ne ĝisdatigas variablon surloke, direktu ĝin al unu per
given anstataŭ ~~:
my $orig = 'color';
say S:g/o/0/ given $orig; # c0l0r
say $orig; # color(Skribi $orig ~~ S/// avertas vin uzi given
anstataŭe — ĉe S/// estas nenio por modifi surloke.)
La sama nedetrua konduto ankaŭ disponeblas kiel metodo,
.subst, kiu redonas novan ĉenon:
my $orig = 'color';
say $orig.subst('o', '0', :g); # c0l0r
say $orig; # colorPraktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Anstataŭigo kaj interŝanĝo | Kvizo — La operatoro s/// →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.