[Raku] 如何取得字串切片
作者:gugod 發佈於: #rakulang #howto所謂字串切片,指的是現有字串中的一部分內容的意思。以這個字串 $s
來舉例:
my Str $s = "零一二三四五六七八九abcdefg";
若要取得其中自「三」字開始,「d」字結束的這段切片,可利用字串型別的 .substr
函式。
my Str $t = $s.substr(3, 11);
say $t;
#=> 三四五六七八九abcd
其第一個參數表示起始位置,第二個參數表示切片的字元數。.substr(3,11)
就是「自位置 3 開始,取 11 個字符」的意義。
另外,也可利用數值範圍來指定起始位置與結束位置:
my Str $u = $s.substr(3..13);
say $u;
#=> 三四五六七八九abcd
.substr(3..13)
就是「切出位置 3 到 13 中的字符」的意義。
兩種寫法,一種是指定長度,一種是制定前後邊界位置。可視情況來選擇比較容易理解的寫法。