首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

怎么在一个正则表达式中一次性替换多个串

2012-11-03 
如何在一个正则表达式中一次性替换多个串?比如源串为:aaaaaa111bbbbbbbbbb222cccccc333ddddddddd现在想将

如何在一个正则表达式中一次性替换多个串?
比如源串为:
aaaaaa111bbbbbbbbbb222cccccc333ddddddddd
现在想将其中的111替换为xxx,222替换为yyy,333替换为zzz。

通常的替换需要执行三次replace函数,有没有办法构造一个正则表达式,只调用一次replace函数就可以完成以上全部操作呢?

谢谢啊!

[解决办法]

Perl code
my $s = "aaaaaa111bbbbbbbbbb222cccccc333ddddddddd";$s =~ tr/123/xyz/;print $s;
[解决办法]
二楼的代码的意思是:
把$s 里所有的 “1” 换成 “x "
所有的 "2" 换成 "y"
所有的 "3" 换成 "z" 

你的需求估计还更复杂一点。
[解决办法]
目标字串跟你的替换字串要是有规律的话,正则可能解决。
否则没有规律的话,就看相应的语言的处理了。
[解决办法]
这么简单的事情你非要找个麻烦的方法才甘心?

热点排行