Ruby入門はじめてのRuby!subメソッドで文字列を置換する方法ヤマシタ2018/6/122019/4/9Rubyには文字列を置換するときに便利なsubメソッドがあります。「メソッドがたくさんあってどれを使っていいかわからない」のような問題に直面することがあります。さまざまな操作方法などについて解説いたします。まとめsubメソッドとはsubメソッドは、文字列の中に正規表現でマッチした文字列が存在した場合に、指定した文字列で置換を行います。返り値には置換後の文字列が返されます。subメソッドは以下のように記述します。ブロック}なお、文字列の置換は最初に一致した箇所のみ行います。全ての一致した文字列を置換したい場合はgsubメソッドを使用します。gsubメソッドについては、以下の記事で詳しく解説しています。2019年9月3日subメソッドの使い方ここでは、subメソッドの使い方をパターン別に見ていきましょう。指定した文字列を置換するたとえば、以下の「apple」という文字列を「orange」に変換したい場合は以下のように記述します。melonこのサンプルプログラムでは、subメソッドで指定した第一引数の「/apple/」が存在した場合、第二引数で指定した「orange」に変換する処理を行っています。マッチした文字列が変換されていることがわかりますね!また、前述したとおりsubメソッドは最初に一致した文字列のみの置換を行いますので注意しましょう。以下のようにマッチする単語が連続していても、置換されるのは最初に一致した文字列だけとなります。apple置換後処理でブロックを使用するsubメソッドは結果をブロックに渡して処理を行うこともできます以下のサンプルでは、subメソッドで一致した文字列に対して、大文字に変換する処理を行っています。melonこのサンプルではsubメソッドの結果を{}で囲ったブロックに渡してあげることで、簡単にブロックを扱うことができます。sub!メソッドの使い方sub!メソッドの「!」は、破壊的にメソッドと呼ばれ、使用することでオブジェクトの内容自体が変更されます。sub!メソッドの使い方や引数の指定方法はsubメソッドと同じです。それではsubとsub!メソッドの違いを見てみましょう。文字列のさまざまな操作方法Rubyでは正規表現を使用して、文字列をさまざまな形で操作することができます。文字列のさまざまな操作方法などについて解説しました。subメソッドは文字列を置換するときによく使用しますので、使い方についてはしっかりと理解しておきましょう。subメソッドの使い方を忘れてしまったら、この記事を思い出してくださいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。無料体験レッスンを予約する書いた人ヤマシタシステムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。