【发布时间】:2011-07-04 13:30:26
【问题描述】:
我想在一个字符串中找到所有出现的"BBB" 并将它们替换为"D"。比如我有"ABBBBC",想生产"ADBC"和"ABDC"。 (首先替换第一个BBB,然后替换另一个BBB)。在 Perl 中有没有很好的方法来做到这一点?
$str = "ABBBBC";
for ( $str =~ m/B(?=BB)/g ) {
# I match both the BBBs here, but how to substitute the relevant part?
}
我想得到这个数组:('ADBC', 'ABDC'),它来自将BBBs 中的任何一个更改为D。字符串"ABBBBBC" 将给我"ADBBC"、"ABDBC" 和"ABBDC"。
【问题讨论】:
-
如果你替换第一个
BBB你得到ADBC,那么“其他”BBB在哪里?不明白... -
@Fredrik- 第一个是 A_BBB_BC,另一个是 AB_BBB_C。我想创建一个包含所有(在这种情况下都是)可能结果的数组
-
谢谢,现在好多了!
-
您想要 ABBBBCBBBBE 的输出是什么?
标签: regex perl substitution