Python と Perlの split() の maxsplit の違い
Python は maxsplit + 1 個に分けるのに対して、 Perl は maxsplit 個に分ける。
Python は指定した数と、残りに分けるイメージ。Perlは指定した数に分けるイメージ。
>>> a = "aaa bbb ccc" >>> a.split(" ", 0) ['aaa bbb ccc'] >>> a.split(" ", 1) ['aaa', 'bbb ccc'] >>> a.split(" ", 2) ['aaa', 'bbb', 'ccc'] >>> a.split(" ", 3) ['aaa', 'bbb', 'ccc']
#!/usr/bin/perl use strict; use warnings; my $a = "aaa bbb ccc"; for(my $i = 0; $i <= 3; $i++){ my @b = split " ", $a, $i; print "split $i => "; print join(" , ", @b), "\n"; }
split 0 => aaa , bbb , ccc split 1 => aaa bbb ccc split 2 => aaa , bbb ccc split 3 => aaa , bbb , ccc