web-dev-qa-db-ja.com

大文字と小文字を区別しない `gsub`を実行することは可能ですか?

gsubを交換して"bad" ために "good"capitalizeを使用して、小文字と大文字の両方を入れ替える方法はありますか?または、defを2回書き込む必要がありますか?

def add_more_Ruby(string)
  string.gsub('bad','good').capitalize
end
20
Stacca

Regexpの代わりに String を渡すことができます。この正規表現では、大文字と小文字が区別されないことを示すiオプションを使用します。

def add_more_Ruby(string)
  string.gsub(/bad/i, 'good')
end

'bad''BAD'だけでなく、たとえば'bAd'も置き換えることに注意してください。すべて大文字またはすべて小文字のみに置き換えたい場合は、次の操作を実行できます。

string.gsub(/bad|BAD/, 'good')
39
Marek Lipka