■split
"文字列" の分断化
―――――――――――――――――――――――――――――――――――――――
@b = split /パターン/, $a, 上限値 ; # 分割数の上限値を指定
@b = split /パターン/, $a ;
@b = split /パターン/ ; # 特殊変数 $_ が対象
@b = split ; # $_ の全ての半角スペース及び
改行文字 \n が削除される
―――――――――――――――――――――――――――――――――――――――
※1. / / は汎用型の m/ / や正規表現の " " や qr/ / でも可。
※2.「半角スペース」を " " で定義すると特別な働きをする。
※3. パターンマッチ式よって「区切り文字」を指定する。正規表現による指定も可。
※4. split の結果を変数に引き継ぐと、その分割数を引き継ぐ。
※5. 変数 $a の部分に直接 "数値・文字列" をかいてもよい。
※6. split 以降を全て省略した場合は、特殊変数 $_ に対して半角スペース文字区切りを行う。
またこの場合に限ってデータ内の改行文字 \n は全て削除され、削除後の空文字 "" をつくらない。
※7. 半角スペースを " " で定義すると、split のみの場合と同様の働きをする。
すなわち半角スペースのほかに改行文字 \n をも削除し、かつ削除後に空の文字 "" をつくらない。
これは " " のときだけの特別な命令。
■join
"文字列" の結合
―――――――――――――――――――――――――――――――――――――――
$b = join "結合文字", @a ; # 配列要素の結合
$p = join "", $a, $b, $c, ・・・ ; # 複数の文字列の結合
―――――――――――――――――――――――――――――――――――――――
※1. join の逆変換は split ですが、join は正規表現とは全く関係ありません。
※2. 結合文字はクオート " ", ' ' で定義する。
※3. 結合文字を空文字 "" で定義した場合は、全ての配列要素はくっつき1つの文字列になる。
■length
"文字列" の長さ(文字数)
―――――――――――――――――――――――――――――――――――――――
$b = length $a ;
―――――――――――――――――――――――――――――――――――――――
■chop
"文字列" の最後の "文字" を削除
―――――――――――――――――――――――――――――――――――――――
chop $a ;
$b = chop $a ; # 削除した文字を返す
―――――――――――――――――――――――――――――――――――――――
※1. 数値の場合は最後の数字を削除する。
■substr
"文字列" の追加・置き換え・部分取得
―――――――――――――――――――――――――――――――――――――――
substr ($a, n, 0) = "文字列" ; # n 番目に文字列を追加
substr ($a, n, length) = "文字列" ; # n 番目以降 length 値分の文字列を置き換え
$a = substr ($a, n, length) ; # n 番目以降 length 値分の文字列を取得
―――――――――――――――――――――――――――――――――――――――
※1. length 値を省略した場合は、n 番目以降全ての文字列が対象となる。
※2. n を負とした場合は末尾から先頭方向に個数を数える。
※3. length 値を負とした場合は - length 値の分だけ文字が残るように数える。
■index, rindex
"文字列" の位置
―――――――――――――――――――――――――――――――――――――――
index $a, "文字列" ; # $a 内の最初の "文字列" の位置を返す
index $a, "文字列", 開始番号 ; # "文字列" 検索を開始番号以降に限定する
―――――――――――――――――――――――――――――――――――――――
※1. rindex(reverse index)は $a 内の最後にある "文字列" の位置を返す。
※2. $a 内に "文字列" が1つしかない場合は、index と rindex は同じ値を返す。
※3. 先頭文字列は "0" を返し、見つからない場合は "-1" を返す。
※4. 全角文字は 2 と数える。