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


Copyright(C) 2006-2018 CLAYPOT. All Rights Reserved.