[精讚] [會員登入]
1499

[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] 06-運算子 #2 PERL的運算子介紹,總共有21種

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

PERL一次讀取檔案所有內容的方法($/) perl可以使用slurp mode一次讀完檔案所有內容的方法及一些範例

自行撰寫syslog server建立資訊安全控管中心#3 -- 程式下載和安裝 利用PERL將syslog收攏到資料庫的程式,程式下載和安裝

[PERL]] find 和 perl 的結合--大量檔案中文字的取代 利用PERL作大量的文件取代

[PERL] 23-多執行緒 而多執行緒的程式,可在一次執行程式時間,同時進行多線程的計算,在效率上可獲得即大的提升。

隨機好文

UTF8中文字/全形一覽 快速查詢urf-8的中文字,共計13246中文字(5401常用字+7652罕用字+日文或編號),292全形符號,27半形符號。

一個邏輯的錯誤刪了全部檔案的經驗 今天本來想做一件很簡單的事,但卻足足浪費我多一倍的時間,再加上刪掉我全部的檔案,原因只是因為我自己的邏輯錯誤。

Smarty安裝 smarty 是著名的樣版引擎,非常的好用,用多了突然發現拿掉smarty反而不會寫php了,以下是安裝過程..

「許功蓋」的字以及源由 有玩過電腦一段時間的人,都聽過這個人(有一天我才發現7年級的竟然都不認識這個

[Mysql] 資料型態int, float, double, text, char, varchar, blob大小 Mysql中資料型態int, float, text, char, varchar, blob大小