自動目錄
用substr來切割及置換字串
語法
substr EXPR,OFFSET,LENGTH
substr EXPR,OFFSET
EXPR 輸入的字串
OFFSET 起始位置,字串左邊由0開始起算;負值代表由字串右邊起算,例如最後位置為-1
LENGTH 取得長度,省略代表取到字串尾端;若為負值代表取到右邊起算的位置。
REPLACEMENT 把該位置的原字串取代掉
範例
my $s = "The black cat climbed the tree"; # 位置 012345678901234567890123456789 my $color = substr $s, 4, 5; # black # 從第12位取到倒數第1位, 注意-1代表最後一位,但最後一尾沒取 my $middle = substr $s, 12, -1; # t climbed the tre my $end = substr $s, 14; # climbed the tree # 從-4位開始取取到字串尾 my $tail = substr $s, -4; # tree # 從倒數第4個字元取6個字元,結果等同取到尾端 my $z = substr $s, -4, 6; # tree # 移除字串尾端4個字元 my $notail = substr $s, 0, -4; # The black cat climbed the # 把原字串 $s 置換字串"tree"=>"flower" my $add = substr $s, -4, 4, "flower"; # tree print $s; # The black cat climbed the flower # 加上括號也可以, 從-8的位置取到-2的位置,不 my $z2 = substr($s, -8, -2); # the tr
如果有第4項參數要注意,他取代的是原字串,而非輸出的字串。
參考資料
[1] https://perldoc.perl.org/functions/substr