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