a = "foobarfoobarhmm"
我想要输出结果为 `"fooBARfoobarhmm"`。
即只有第一个出现的 "bar" 要被替换为 "BAR"。
使用 #sub
:
a.sub('bar', "BAR")
String#sub
是你需要的,就像 Yossi 已经说过的那样。但我会使用正则表达式,因为它更快:
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'
500.to_s
有时会被写成 "500"
。 :-) - Cary Swovelandstr[/\d+/] = 500
,你会得到一个错误 TypeError: no implicit conversion of Fixnum into String
。 - Nafaa Boutefer