Thread String, character, suche und ersetzen (26 answers)
Opened by Graf Herschel at 2018-12-11 10:42

rosti
 2018-12-12 15:43
#189391 #189391
User since
2011-03-19
3180 Artikel
BenutzerIn
[Homepage]
user image
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)

View full thread String, character, suche und ersetzen