Perl 文字列の一部を取得するサンプル(substr)

Perlの文字列の一部を取得するサンプルです。

確認環境
・Perl 5.26.3

目次

substrメソッド(引数3つ)

substr (対象の文字列, 開始位置,長さ)
  • 1つめの引数の「対象の文字列」に対して、2つめの引数の「開始位置」から3つめの引数の「長さ」で文字列を取得します。
  • 1文字目の位置は0です。
  • 以下はPerl公式の日本語翻訳サイトのsubstrメソッドのリンクです。
    http://perldoc.jp/func/substr

コード

substrメソッドの引数が3つのサンプルです。

#! /usr/bin/perl
use strict;
use warnings;

my $a = "abcde";

print substr($a,0,1); # a
print substr($a,1,1); # b
print substr($a,2,1); # c

print substr($a,0,3); # abc

print substr($a,2,2); # cd

7~9行目は、指定の位置から1文字取得しています。
11行目は、最初の文字「a」から3文字取得しています。
13行目は、途中にある文字の「c」から2文字取得しています。

 

substrメソッド(引数2つ)

substr (対象の文字列, 開始位置)
  • 1つめの引数の「対象の文字列」に対して、2つめの引数の「開始位置」から最後までの文字を返します。
  • 以下はPerl公式の日本語翻訳サイトのsubstrメソッドのリンクです。
    http://perldoc.jp/func/substr

コード

substrメソッドの引数が2つのサンプルです。

#! /usr/bin/perl
use strict;
use warnings;

my $a = "abcde";

print substr($a,2); # cde

print substr($a,3); # de

print substr($a,4); # e

7,9,11行目とも、指定した位置の文字から最後の文字まで取得しています。

関連の記事

Perl 文字列の位置を取得する(index/rindex)
Perl 文字列を置き換えるサンプル(substr/s///演算子)
Perl 英字の大文字と小文字を変換(lc関数/uc関数)

△上に戻る