[精讚] [會員登入]
1504

[PERL] 用substr切割及置換字串

perl用substr來切割及置換字串

分享此文連結 //n.sfs.tw/15610

分享連結 [PERL] 用substr切割及置換字串 @新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2022-02-24 15:40:10 最後編修
2022-02-17 10:19:38 By 張○○
 

自動目錄

用substr來切割及置換字串

語法

substr EXPR,OFFSET,LENGTH,REPLACEMENT
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

END

你可能感興趣的文章

Perl的類別物件利器 bless 使用bless來替perl建立class物件。

[PERL] 15-進階比對 #2--使用更多修飾子 perl的正規表達式進階比對

[PERL] 位元運算 Bitwise operation PERL的位元運算整理

[PERL] split 寫法 Perl 將字串分開可以用 split 這個函數,此函數可以用Regex作分隔判斷

[PERL] 13- 變數的視界 變數的使用範圍,什麼是my,什麼是our?

[PERL] 18-套件及模組 套件和模組入門

隨機好文

[Windows7] 移除IE10及移除IE11 Windows7 不得已的情況要移除IE11或IE10怎麼做?

Linux shell 的date表示法 linux下SHELL中的date表示法

外匯課程經驗 有天遇到某個朋友的正妹朋友,說她有個很棒的外匯投資課程,要我們去聽,只收場地費200大洋。她又說續效最差一個月也有1%,誰還在苦哈哈上班?

[CodeIgniter 3] 資料庫的使用方法整理1/2 --Select的使用 [CodeIgniter 3] 資料庫的使用方法整理:Select的使用

問問題 問問題其實內涵很深,我悟了很久才懂。 有人問題的目的並不一定是想要得到答案,有時只是純粹想問問題..