чтобы заменить первое вхождение, просто сделайте это:
str = "Hello World"
str['Hello'] = 'Goodbye'
# the result is 'Goodbye World'
Вы даже можете использовать регулярные выражения:
str = "I have 20 dollars"
str[/\d+/] = 500.to_s
# will give 'I have 500 dollars'