Thread String, character, suche und ersetzen
(26 answers)
Opened by Graf Herschel at 2018-12-11 10:42
Die Idee ist, mit einem Array zu operieren:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # 'C'|'B'|'f', durch 'K' ersetzen # Hashslice für die Ersetzungen anlegen my %hx = (); @hx{unpack "UUU", "CBf"} = unpack "UUU", "KKK"; my $string = "abcdefABCDEF"; # Array mit den Codepoints erzeugen my @cps = unpack "U*", $string; # nun gehts durch das Array # Ersetzen ab bestimmter Position z.B. 3 foreach my $i (3 .. scalar @cps -1 ){ $cps[$i] = $hx{$cps[$i]} || $cps[$i]; } # Ergebnis $, = "\n"; print $string, pack("U*", @cps); abcdefABCDEF abcdeKAKKDEF Und das Array kannst auch umdrehen. Zum Testen auch verlängern Code (perl): (dl
)
my $string = "abcdefABCDEF" x 10000; . Last edited: 2018-12-12 15:54:48 +0100 (CET) |