[精讚] [會員登入]
1531

[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] 03-條件式判斷 perl的條件式判斷

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

[PERL] 中文字字串拆解,把中文字串逐字拆開 中文字字串拆解是門學問

關於Perl,你得知道這幾點 Perl 有不少奇異的地方,值得看一看

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

[PERL] 簡易檢查網頁記錄檔ip來源統計 利用PERL來檢查網頁記錄檔ip來源統計的簡易程式

隨機好文

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

世紀帝國征服者新版本--被遺忘的帝國 世紀帝國征服者新版本--被遺忘的帝國 世紀二代的征服者是精典遊戲中的精典,aofe更好玩...

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

詭異的創業思維 創業的思維中,有多少銀彈,有多少技術,有多少人脈,有多少時間等等,每個都要考慮進去,以熱忱建立的關係脆弱的像蘇打餅乾一樣..

正則表達式:Email名稱防止連續輸入點(.)及下底線(_) Email的名稱中要允許特殊符號,但又不允許連續出現的正則表達式