Loose-Info.com

Last Update 2019/12/25


TOP - Perl - 関数 - split

文字列を、指定したパターン文字列で分割します。

戻り値1 = split

戻り値1
空白文字で分割された文字列で構成されるリスト値 スカラー値の場合は分割個数

戻り値1 = split 式1

戻り値1
パターン文字列で$_を分割した文字列で構成されるリスト値
スカラー値の場合は分割個数
式1
分割点となるパターン文字列

戻り値1 = split 式1 , 式2

戻り値1
パターン文字列で分割された文字列で構成されるリスト値
スカラー値の場合は分割個数
式1
分割点となるパターン文字列
式2
分割される文字列

戻り値1 = split 式1 , 式2 , 値1

戻り値1
パターン文字列で分割された文字列で構成されるリスト値
スカラー値の場合は分割個数
式1
分割点となるパターン文字列
式2
分割される文字列
値1
最大分割個数

(例)
$_ = "abcd_eabc_de aaa_bbb ccc ddd"; @a_ret = split; print "\$_を対象に空白文字で分割\n"; print scalar(@a_ret) . " 個に分割\n"; foreach $s (@a_ret) { print "$s\n"; } print "\n"; @a_ret = split /_/; print "\$_を対象にパターン/_/で分割\n"; print scalar(@a_ret) . " 個に分割\n"; foreach $s (@a_ret) { print "$s\n"; } print "\n"; $s_test = "test_test:ab_ab_ab:bbb_acc_ddd"; @a_ret = split /_/, $s_test; print "\$s_testを対象にパターン/_/で分割\n"; print scalar(@a_ret) . " 個に分割\n"; foreach $s (@a_ret) { print "$s\n"; } print "\n"; @a_ret = split /[a-c]_/, $s_test; print "\$s_testを対象にパターン/[a-c]_/で分割\n"; print scalar(@a_ret) . " 個に分割\n"; foreach $s (@a_ret) { print "$s\n"; } print "\n"; @a_ret = split /_/, $s_test, 3; print "\$s_testを対象にパターン/_/で最大3個に分割\n"; print scalar(@a_ret) . " 個に分割\n"; foreach $s (@a_ret) { print "$s\n"; }

実行結果
$_を対象に空白文字で分割 4 個に分割 abcd_eabc_de aaa_bbb ccc ddd $_を対象にパターン/_/で分割 4 個に分割 abcd eabc de aaa bbb ccc ddd $s_testを対象にパターン/_/で分割 6 個に分割 test test:ab ab ab:bbb acc ddd $s_testを対象にパターン/[a-c]_/で分割 5 個に分割 test_test:a a ab:bb ac ddd $s_testを対象にパターン/_/で最大3個に分割 3 個に分割 test test:ab ab_ab:bbb_acc_ddd