Split einen String in Gleich lange Stück in Perl
Sagen wir, ich habe Zeichenkette der Länge in vielfachen von 3.
my $seq = "CTTCGAATT"; # in this case length of 9
Gibt es eine Möglichkeit, ich kann es teilen, in gleiche Länge von 3?
So dass am Ende habe ich dieses array:
$VAR = ["CTT", "CGA", "ATT"];
- Crossposted auf Perlmonks. Es werden drei Lösungen wurden mit benchmarks die belegen das entpacken eine gute Wahl zu sein. perlmonks.org/?node_id=939987
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werfen Sie einen Blick auf die Lösung zu Wie kann ich das aufteilen einer Zeichenfolge in Stücke von jeweils zwei Zeichen in Perl?
Besonders die
unpack
interessant sein könnte:Durchlaufen die vielfachen von drei, mit
substr
um die Stücke zupush
in eine Liste.my $str='ABCDEFGHIJKLM';
können wir die Verwendung von string-match um Teile aus dem string, wobei die minimale Länge ist 1 und maximum ist die erforderliche Länge, 3 oder 4 oder was auch immer
@parts = $str =~ /(.{1,4})/g;
und wir bekommen@parts = ['ABCD', 'EFGH', 'IJKL', 'M']