[精讚] [會員登入]
1649

[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] 08-陣列 #2 --操作 更多perl陣列的操作,如拆開、黏合、取出、加入等等

[PERL] 自寫 trim, ltrim, rtrim 函數 常用的 perl 函數中沒有trim, ltrim, rtrim這三個函數,那就自己來寫,非常容易

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

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

Freebsd11上安裝PERL模組 freebsd11+ perl module 在freebsd上安裝module還算簡單

[PERL] 12- 副程式 Perl 的副程式就是所謂的函數

隨機好文

精讚的版面變化 ▓此文僅作為舊文的記錄▓ 這篇文章為了紀念改版完成而撰寫。 原本的部落格是民國97年的作品,那時還是用舊有的技術來寫,很

設計的工作絕不接受比價 拿買陽春麵的價格想買牛肉麵,寧願倒掉也不賣

[Wildfly10] 發佈war檔 deploy war file onto wildfly10

[PHP]解決ksort新增的SORT_NATURAL|SORT_FLAG_CASE方法 php>=5.4中ksort函數多了SORT_NATURAL 和 SORT_FLAG_CASE 旗標,對舊版的PHP中要怎麼辦?

[Apache] 自訂錯誤頁面及移掉歡迎頁 Apache 有一個歡迎頁,以正式網站來說,出現這頁有點不專業,該移除它..