TOP - Perl - 関数 - substr

文字列の一部を取り出して返します。

戻り値1 = substr 式1 , 値1
戻り値1 : 取り出した部分文字列
式1     : 取り出される元となる文字列
値1     : 文字列を切り出す開始位置
          負の場合は終端から数値分戻った位置
          終端(右端)までが切り出される

戻り値1 = substr 式1 , 値1 , 値2
戻り値1 : 取り出した部分文字列
式1     : 取り出される元となる文字列
値1     : 文字列を切り出す開始位置
          負の場合は終端から数値分戻った位置
値2     : 切り出す文字数
          負の場合は終端から数値分は取り出さない

substr( 式1 , 値1 , 値2 ) = 値3
式1     : 元となる文字列
値1     : 置換する文字列の先頭位置
          負の場合は終端から数値分戻った位置
値2     : 置換文字数
          負の場合は終端から数値分は取り出さない
値3     : 置換文字列

(例)
$s_test = "abcdefghijklmn";

print "6文字目以降取り出し : " . substr($s_test, 5) . "\n";                 # 位置指定の基準は0文字目

print "終端から3文字目以降取り出し : " . substr($s_test, -3) . "\n";

print "3文字目から3文字取り出し : " . substr($s_test, 2, 3) . "\n";

print "3文字目から終端から3文字目まで取り出し : " . substr($s_test, 2, -3) . "\n";

$s_test2 = "abcde";
substr($s_test2, 2, 1) = "123";
print "3文字目を\"123\"に置換 : " . $s_test2 . "\n";
実行結果
6文字目以降取り出し : fghijklmn
終端から3文字目以降取り出し : lmn
3文字目から3文字取り出し : cde
3文字目から終端から3文字目まで取り出し : cdefghijk
3文字目を"123"に置換 : ab123de


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