s替换
m//
模式用来匹配文本,也就是说用来找数据。而s///
用来查找并替换文本,所以可以用来处理文本文件。在有了正则的基础之后,s///
用起来会简单很多。
用法格式为:
$str =~ s/reg/replacement/FLAGS;
它表示用reg去搜索$str
中的内容,并将搜索出来的内容替换为replacement。
1.s///
的斜线可以替换为其他对称的符号(括号类)或相同的符号。
例如s!!!
、s###
、s%%%
、s()()
、s{}{}
、s<><>
、s[][]
等,还可以混用符号,例如s{}##
、s{}()
等。
$str = "ma xiaofang or ma longshuai";
$str =~ s/ma/gao/g;
print "$str\n";
第二句直接会替换掉原来的$str
。
2.s//
替换的返回值是替换成功的次数(数量)。
例如上面使用全局替换修饰符g
,使得替换了两个"ma",返回值为2,如果去掉全局替换修饰符,则只替换第一个"ma",返回值为1。
所以,通过s///
返回