web-dev-qa-db-ja.com

Ruby-サブストリングの最初の出現を別のストリングに置き換えます

a = "foobarfoobarhmm"

`" fooBARfoobarhmm "として出力したい

つまり、最初に出現する「bar」のみを「BAR」に置き換える必要があります。

58
Sayuj

つかいます #sub

a.sub('bar', "BAR")
112
Yossi

String#subは、Yossiがすでに言ったように、あなたが必要なものです。しかし、高速なので、代わりに正規表現を使用します。

a = 'foobarfoobarhmm'
output = a.sub(/foo/, 'BAR')
16
tbuehlmann

最初の出現を置き換えるには、次のようにします。

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'
8
Nafaa Boutefer