Perl語言的文字處理模式之3(3)
發表時間:2024-02-09 來源:明輝站整理相關軟件相關文章人氣:
[摘要]指令:s取代函數 語法:s/PATTERN/REPLACE/eg 其中PATTERN是文字處理(Regular Expression)的模式,REPLACE是代表取代成何種文 字 模式。而g是這個函數最常用的參數,代表要把所有符合文字模式的字符串 全部取 代,如果省略這個參數的話,則只取代一個...
指令:s取代函數
語法:s/PATTERN/REPLACE/eg
其中PATTERN是文字處理(Regular Expression)的模式,REPLACE是代表取代成何種文
字 模式。而g是這個函數最常用的參數,代表要把所有符合文字模式的字符串 全部取
代,如果省略這個參數的話,則只取代一個符合文字模式的字符串;而加上e這 個參數是代
表要將REPLACE的部分當成一個運算式,如果沒有這個需要的話,就不用加 上這個參數。
說明:將符合文字處理模式的字符串取代成為要取代的字符串。
范例一:
$string="i;love;perl";
$string=~s/:/*/: #此時$string="i*love:perl";
$string=~s/:/*/g; #此時$string="i*love*perl";
$stiing=~s/*/+/g; #此時$string="i+love+perl";
$string=~s/+//g: #此時$string="i love perl";
上一行也可寫成$string=~tr/+//;效果都會一樣哦!
$string=~s/per1/cgi/; #此時$string="i love cgi";
范例二:
$string="i love per";
$string=~s/(love)/<$1>/;
第一個()內所找到的字符串變成$1,在這個范例中,會把變量love這個字符串變成
<>,此時$string="i<>perl";
$string="i love per1";
$string=~s/(i)(perl)/<$1><$2>/;
在這個范例中,會把i變成<>,perl變成<>此時$string="<>love<>";
$striag="i love per1";
$string=~s/(w+)/<$1>/g;
(w+)代表找尋符合一個或是多個英文字符或是數值的字符串,之后再將找到的字 符串設成$l。因為加上g這個參數,所以會找到字符串中的這三個英文單字, 然后 再把這三個單字分別加上<>這個符號,此時$string="<><><>";