String(文字列処理)
文字の削除
SYNTAX
chop string
chomp LIST
RET
削除された末尾の1文字
DESC
対象の文字列の末尾の文字を削除する。
POINT
Perl ではファイルから読まれた行は最後の改行は含まれる
chomp は改行があれば, 削除して、( なければ何もしない )
my $s = "abc"
my $ret = chop( $s );
print ( $ret );
print ( $s );
WARNING
引数となる文字列に削除をするため定数は指定できない
chop( "abc" );
my $s = "abc";
chop( $s );
Substitute
SYNTAX
s/ptn/regexp/
DESC
置換演算子
{
$word = "foo";
$word =~ s/foo/bar/;
print $word;
}
{
my $var="jinmin no jinmin ni yoru jinmin no tameno Seiji";
$var=~s/jinmin/ore/g;
print $var;
}
{
my $var = "ore ore ore ore";
$var =~ s/^ore/foo/g;
print $var;
}
検索
SYNTAX
m/pattern/
DESC
pattern を検索する
while (<stdin>) {
if ( m/test/ ) {
print;
}
}
if( "Wikibooks" =~ /book/){
print "Match!";
}else{
print "Not match.";
}
結合(strcat)
my $str = "aaa" . "bbb";
substr
DESC
部分文字列をかえす
SYNTAX
$ret = length( $str );
SYNTAX
$ret = substr( $str, offset [,length [, replace ] ] );
substr("abcedefgh", 4 );
substr( "abc", -1 );
substr( "abc", 0, 2 );
substr( "abc", 0, -2 );
substr( "abcedefgh", 4, -2 ) -> ef // 前後から指定
index
DESC
regexp に一致する index をかえす
RET
N >= 0 : match した index
-1 : match しない
index("aiueo", "foobar");
index("aiueo", "ueo");
length
DESC
文字列の byte 数をかえす
length( "abc" )
print length( "あいう" );
print length( "日本語" );
substitute
SYNTAX
s/regexp/置換文字列/
$s = "This is a pen.";
$s =~ s/pen/book/;
$s =~ s/\s//g;