[精讚] [會員登入]
1671

[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] 14-進階比對 #1--取回比對內容 perl的正規表達式進階比對

[PERL] 19-模組的安裝和維護 模組的安裝和維護

[PERL] 常態分配亂數產生函數 一般而言我們使用程式內建的 rand 函數取得的亂數是平均分配的,但如果需要常態分配的亂數產生器該怎麼做?

Perl 的列舉寫法(map list) 使用列舉的寫法來設定陣列,非常的強大

[PERL] 前置if和後置if (if修飾子)的差別 perl的if可以拿來作為後置修飾子使用,此外還有一個unless像是if的相反,分析他們的差異

Perl 的特殊變數:$` $' $#陣列 $1 $2 .. $10 \1 \2 .. \10 介紹Perl 的 $` $' $#array $1..$10 \1..\10這些變數

隨機好文

[jQuery] textarea 的取值和給值 HTML 的 TEXTAREA 標籤若要用 jquery 取值,不能使用 .text() 或 .html() ,使用 .

兩次使用InnoDB的慘痛經驗 Mysql 的Innodb引擎雖然好用,但是我得說說我兩次的慘痛經驗,這讓我考慮以後可能不會再使用innodb了

[HTLM5] 表單color、email、url、search、tel輸入類型 介紹HTML5好用的輸入類型:color、email、url,以及兩個形同雞肋的類型search、tel..

[CodeIgniter 3] 自寫找不到頁面(page404)的方法 使用CI3框架中如果找不到頁面,就會導到一個自定的404頁面,該怎麼做?

清潔瓦斯爐盤 瓦斯爐上面的金屬盤,用久後就會黑黑油油,怎麼清怎麼刷也弄不乾淨,今天我發現一個方法可以弄乾淨…