perl
查詢子串第一次在大字串中出現的地方,返回第乙個字元的位置。
字元位置是從
0 開始編號的。如果子串在字串的開頭處找到,則
index 返回0
。如果子串不存在,則返回-1
.my $stuff = 「howordy world!」;
my $where1 = index($stuff,「wor」); #$where1 得到2
my $where2 = index($stuff,「w」, $where+3); #$where 得到6
my $where3 = index($stuff,「w」, $where+); #$where
為-1(
沒有找到)用
rindex
函式返回子串最後出現的位置
my $fred = 「yabba dabba doo!」;
my $where1 = rindex($fred, 「abba」); #$where1 得到7
my $where2 = rindex($fred, 「abba」, $where - 1); #$where2 得到1
my $where3 =rindex($fred, 「abba」, $where2-1); #$whrere3
得到-1
substr
擷取處理部分的字串。
它有三個引數:
字串,乙個從
0 開始編號的初始位置(類似於
index
的返回值),以及子串的長度。
返回值是乙個子串
my $mineral = substr(「fred j. flintstone」, 8, 5); #
得到「flint」
初始位置可以是負的,表示從字串結尾處開始
my $out = substr (「some very long string」, -3, 2); # $out
得到「in」
substr
在perl
裡特殊的地方,可以做左值
my $string = 「hello, world!」;
substr($string, 0, 5) = 「goodbye」; # $string
現在變成了
「goodbye, world!」
賦值的(子)串長度不需要和它替換的子串長度相同。字串會自動調整到合適的長度#最後
20個字元替換為
barney
substr($string, -20) =~ s/fred/barney/g;
substr
和index
能完成的大部分工作都可由正規表示式來完成,
substr
和index
通常更快,理由:它們從不是大小寫無關的,他們沒有元字元(metacharacters)需要擔心,也不設定記憶體變數(memory variables)。
使用sprintf格式化資料
my $data_tag = sprint
「%4d/%02d/%02d %02d:%02d:%02d」, $yr, $mo, $da, $h, $m, $s;
這個和c是完全一致的。
內嵌函式sort 可以定義一些比較函式,這個和c中過的sort是一樣的。
先在沒有具體例項,以後用到的時候新增!
05 2 字串處理函式
字串分割函式 strsplit strsplit x,split,extended true,fixed false,perl false strsplit 123abcderabggg ab 按照ab分割字串 字串連線 計算字串的字元數 nachr 字串擷取 substr x,start,stop...
2018 01 08 字串處理函式
str.capitalize 返回乙個字串,首字母大寫 str.replace 替代字元 str.split 將字串切分,返回乙個列表,列表的元素是字元,預設用空格切分 把字串切成列表 str.join 引數是個可迭代的物件,返回的是乙個字串。string 模組 string.capitalize ...
10)字串知識
字元 0 ascii值是0 但是0的ascii值是48,所以 strlen遇到 0 就停止 但是 sizeof是測得陣列的長度,包含 0 和0 滑油輸出時 s 也是,遇到 0 就停止輸出了 strcpy 是會把字串的那個 0複製過去的 比如 main 列印出 x y z 1 2 3 4 9 可以看出...