Perlで文字列内の特定の場所を切り出すには、substr関数を利用すると便利です。
以下にsubstrを使用して先頭から10文字切り出しと後方から10文字切り出しと20文字切り出しのサンプルコードを記します。
htmlinsert(): The given local file does not exist or is not readable.
substr関数で文字列の切り出しを行う場合は以下の構文になります。
substr(文字列, 開始位置, 切り出す文字数);
開始位置は0からはじまりますので注意してください。
また「切り出す文字数」は省略可能です。
substr(文字列, 開始位置);
切り出す文字数が省略されているので、開始位置から最後までが文字列の切り出し対象となります。
以下のサンプルコードは、先頭から10文字、後方から10文字と20文字をsubstr関数を利用して切り出すサンプルです。
後方から20文字を切り出すsubstr関数は、第3引数の「切り出す文字数」を省略しています。
#!/usr/bin/perl $str = "0123456789abcdefghijklmnopqrstuvwxyz"; $left10 = substr($str, 0, 10); printf "LEFT 10 character: %s\n", $left10; $right10 = substr($str, length($str) - 10, 10); printf "RIGHT 10 character): %s\n", $right10; $right20 = substr($str, length($str) - 20); printf "RIGHT 20 character: %s\n", $right20;
上記のサンプルコードを実行したときの出力です。
[sakura@centos ~]$ chmod +x substr.pl [sakura@centos ~]$ ./substr.pl LEFT 10 character: 0123456789 RIGHT 10 character): qrstuvwxyz RIGHT 20 character: ghijklmnopqrstuvwxyz