このエントリーをはてなブックマークに追加


Perlで文字列の切り出しをする方法・substr

Perlで文字列内の特定の場所を切り出すには、substr関数を利用すると便利です。
以下にsubstrを使用して先頭から10文字切り出しと後方から10文字切り出しと20文字切り出しのサンプルコードを記します。


スポンサーリンク

関連記事

substr関数

substr関数で文字列の切り出しを行う場合は以下の構文になります。

substr(文字列, 開始位置, 切り出す文字数);

開始位置は0からはじまりますので注意してください。
また「切り出す文字数」は省略可能です。

substr(文字列, 開始位置);

切り出す文字数が省略されているので、開始位置から最後までが文字列の切り出し対象となります。

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;

substr関数を使ったサンプルコードの実行結果

上記のサンプルコードを実行したときの出力です。

[sakura@centos ~]$ chmod +x substr.pl 
[sakura@centos ~]$ ./substr.pl 
LEFT 10 character: 0123456789
RIGHT 10 character): qrstuvwxyz
RIGHT 20 character: ghijklmnopqrstuvwxyz

スポンサーリンク


添付ファイル: filesubstr.pl.zip 115件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:31:39 (1340d)