ためになるホームページ お問い合わせ




TOP > Perl > 文字列関数substr
substr
substr関数は、文字列の多彩な操作ができる。
(書式)substr($string, $offset, $count);
$string 文字列
$offset 取りだす位置
$count 取りだす個数
文字列$stringから、$offset位置から$count分取りだす。$offsetの数え方は、最初の文字を0として数える。
また、$countは省略することができる。その場合は、指定した文字から最後までを返す。
$offsetは、負の値を設定することができる。-1を設定した時は末尾から逆にカウントして値を返す。

substrの例 その1
$string = "abcdefghijklmn";
$offset = "2";
$count = "3";

print substr($string, $offset, $count) . "\n";
#cdeと出力
print substr($string, $offset) . "\n";
#cdefghijklmnと出力
print substr($string, -1) . "\n";
#nと出力
print substr($string, -2, 2) ."\n";
#mnと出力
print substr($string, -4) ."\n";
#klmn


上記の例では、戻り値に関しての例だが、substrを式の左辺に置くことにより置換が行なえる。
substr($string, $offset, $count) = $rep;
の式で、$stringの$offsetの位置から$countまでを$repに置き換える。
$offsetは負の値を設定できるし、$countも省略する事ができる。

substrの例 その2
$string = "abcdefghijklmn";
$offset = "2";
$count = "3";

substr($string, -1) = "z";
print "$string\n";            #abcdefghijklzと表示

substr($string, 0, 3) = "123";
print "$string\n";            #123defghijklmzと表示

substr($string, -12) = "";
print "$string\n";            #12と表示(-12の位置からヌルで置き換える)







Copyright 2007 ためになるホームページ All Rights Reserved.