【发布时间】:2017-12-06 20:13:39
【问题描述】:
关于以下字符串:“狗吃猫,还是你的猫吃老鼠?”
我想在 Perl 中使用 s/// 将每次出现的“dog”替换为“cat”,将“cat”替换为“mouse”,将“mouse”替换为“dog” ”。
所以结果是:“猫吃老鼠,还是你的老鼠吃狗?”
我的问题是,用猫替换狗后,猫出现了两次,但我只想替换原来的猫。
我知道我可以简单地编写几个非全局替换,但我想知道是否有一个单行符。
ps:当然我想使用正确的复数形式,例如“mice”而不是“mouses”
【问题讨论】:
-
创建一个时间值,用于将 EG
cat更改为##并在关闭圆圈后将##更改为mouse... -
您可以简单地将您的真实输入字符串拆分为标记/单词吗?例如
split(/\b/,$_)上面的例子。 [我假设真正的问题是“略有不同”] -
@Andrzej A. Filip:非常感谢您的回复,我会一直使用拆分方法,但我很快就会了解如何使用哈希。
标签: regex string perl substitution