a = "foobarfoobarhmm"
我希望输出为“fooBARfoobarhmm”
即只有第一次出现的“bar”应该用“BAR”代替。
答案 0 :(得分:105)
使用#sub
:
a.sub('bar', "BAR")
答案 1 :(得分:16)
String#sub
正是你所需要的。但我会改用Regexp,因为它更快:
a = 'foobarfoobarhmm'
output = a.sub(/foo/, 'BAR')
答案 2 :(得分:7)
替换第一次出现,只需这样做:
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'