Perl字符串替换的例子

发布时间:2019-10-16编辑:脚本学堂
例1、把字符串中的两个software的前后分别加上xx和yy s/(software)/xx $1 yy/ig i代表不区分大小写, g代表全部搜索替换。

例1、把字符串中的两个software的前后分别加上xx和yy
s/(software)/xx $1 yy/ig
i代表不区分大小写, g代表全部搜索替换。
software表示你要替换的值,加上括号为了在后面使用。
$1就是匹配的第一个()内的值

s里面的字串是可以放入函数的,比如uc,lc等,也可以加单引号。
m表示对于每个n都可以解析成行尾

例2、$var='abcda';$var =~ s/a/11/g;最终var值为11bcd11。而$var =~ tr/a/11/;后$var值为1bcd1;
s替换可以将一个字符(比如a)换成两个字符(11),而tr转换却只能是一对一的替换(a只能转换为1,不能是11)。

总结:
s///: 替换运算符。s/searchpattern/repalcement/;默认搜索$ _,找出searchpattern,并且用replacement来替换整个匹配的正则表达式。该运算符返回匹配的数量或进行替换的数量,如果没有进行任何匹配,则返回0。

当然也可以指定某个变量,如$perl=~s/searchpattern/repalcement/; 另外,替换运算符也可以使用非斜杠(/)的界限符,如s###.

转换操作符tr///的作用与替换运算符有些类似,不过它并不使用正则表达式,而且它的运行方式完全不同。转换操作符的句法如下所示:tr/searchment/repalcement/;是把searchment的第一个字符换成replacement的第一个字符,searchment的第二个字符换成replacement的第二个字符,依此类推。

即:转换操作符tr/ / /用于搜索一个字符串,找出searchlist中的各个元素,并用replacementlist中的对应元素对它们进行替换。如果replacementlist是空的,或者与searchlist相同,那么tr/ / /将计算并返回匹配的字符。目标字符串并不被修改。

您可能感兴趣的文章:

perl命令批量替换文件内容的方法
perl替换文本的小例子
linux批量替换文件内容的三种方法 perl、sed与shell批量替换文件内容
Perl正则表达式替换文本的例子
perl合并两个文件(字符串替换)
使用 Perl 的命令行来替换 awk , sed 之类
perl 命令行替换