使用Ruby,如何替换字符串中的一系列字符?例如,给定字符串
hellothere
如果我想用索引位置2到5替换字符“#”来替换字符串
he####here
我该怎么做?
答案 0 :(得分:2)
你可以得到一个字符串范围并通过设置新字符乘以最后一个索引加上1减去第一个索引来替换它:
def replace_in_string(str, replace, start, finish)
str[start..finish] = replace * (finish + 1 - start)
str
end
p replace_in_string 'hellothere', '#', 2, 5
# "he####here"
将该方法添加到String类中会减少一个参数:
class String
def replace_in_string(replace, start, finish)
self[start..finish] = replace * (finish + 1 - start)
self
end
end
p 'hellothere'.replace_in_string '#', 2, 5
# "he####here"