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