在ruby中一次用索引替换几个子串

时间:2016-05-16 08:16:30

标签: ruby

这是this one的类似问题,即给定子字符串的起始和结束索引,将其替换为另一个字符串,但我想用索引替换几个子字符串。我不能只链接替换,因为索引引用原始字符串。所以我最终计算了字符,但必须有更好的方法。

print

1 个答案:

答案 0 :(得分:5)

刚开始替换。然后索引始终有效:

# to keep things simple, assume replacements just contains 
# objects which have start, end indices and replacements
replacements.sort_by(&:start_offset).reverse.each do |r|
  string[r.start_offset..r.end_offset] = r.replacement      
end