Ruby – 用另一个stringreplace第一次出现的子string
a = "foobarfoobarhmm"
我想输出为“”fooBARfoobarhmm“
即只有第一次出现的“酒吧”应该replace为“酒吧”。
使用#sub
:
a.sub('bar', "BAR")
正如Yossi所说, String#sub
就是你所需要的。 但我会使用正则expression式,因为它更快:
a = 'foobarfoobarhmm' output = a.sub(/foo/, 'BAR')
要取代第一次出现,只要做到这一点:
str = "Hello World" str['Hello'] = 'Goodbye' # the result is 'Goodbye World'
你甚至可以使用正则expression式:
str = "I have 20 dollars" str[/\d+/] = 500.to_s # will give 'I have 500 dollars'