Ответ 1
Используйте #sub
:
a.sub('bar', "BAR")
a = "foobarfoobarhmm"
Я хочу, чтобы результат был как "fooBARfoobarhmm"
то есть только первое появление "bar" должно быть заменено на "BAR".
Используйте #sub
:
a.sub('bar', "BAR")
String#sub
- это то, что вам нужно, как сказал Йосси. Но вместо этого я бы использовал Regexp, так как это быстрее:
a = 'foobarfoobarhmm'
output = a.sub(/foo/, 'BAR')
чтобы заменить первое вхождение, просто выполните следующее:
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'