カテゴリ: Ruby 更新日: 2026/01/05

Rubyの空白・改行・トリム処理を徹底解説!strip/lstrip/rstrip/chompの違い

空白・改行・トリム処理:strip/lstrip/rstrip/chompの違い
空白・改行・トリム処理:strip/lstrip/rstrip/chompの違い

先生と生徒の会話形式で理解しよう

生徒

「Rubyで文字列の前後の空白や改行を削除する方法はありますか?」

先生

「はい、Rubyにはstrip、lstrip、rstrip、chompといったメソッドがあり、文字列の空白や改行を簡単に取り除くことができます。」

生徒

「それぞれどう違うんですか?どれを使うべきか迷います。」

先生

「では、順番に使い方と違いを解説していきましょう。」

1. stripメソッドで文字列の前後の空白と改行を削除

1. stripメソッドで文字列の前後の空白と改行を削除
1. stripメソッドで文字列の前後の空白と改行を削除

Rubyのstripメソッドは、文字列の両端にある空白や改行を取り除きます。文章入力やユーザーの余計なスペースを削除するのに便利です。


text = "  Hello Ruby!  \n"
puts text.strip

Hello Ruby!

stripは前後両方の空白や改行をまとめて削除できるため、文字列を整形するときによく使われます。

2. lstripメソッドで左側(先頭)の空白を削除

2. lstripメソッドで左側(先頭)の空白を削除
2. lstripメソッドで左側(先頭)の空白を削除

lstripは文字列の先頭だけの空白や改行を削除します。先頭の余計なスペースだけを取りたい場合に便利です。


text = "   Leading space"
puts text.lstrip

Leading space

ユーザー入力の先頭スペースを整える場合や、フォームのデータ処理で役立ちます。

3. rstripメソッドで右側(末尾)の空白を削除

3. rstripメソッドで右側(末尾)の空白を削除
3. rstripメソッドで右側(末尾)の空白を削除

rstripは文字列の末尾だけの空白や改行を削除します。文章の末尾に余計なスペースや改行がある場合に使います。


text = "Trailing space   "
puts text.rstrip

Trailing space

末尾の不要なスペースや改行を削除して、データベースに登録するときなどに便利です。

4. chompメソッドで改行だけを削除

4. chompメソッドで改行だけを削除
4. chompメソッドで改行だけを削除

chompは文字列の末尾の改行だけを削除するメソッドです。改行を削除する目的で特化しているので、空白は残ります。


text = "Hello Ruby!\n"
puts text.chomp

Hello Ruby!

ファイル読み込みやユーザー入力で末尾の改行を消したい場合に使われます。

5. 実務での活用例

5. 実務での活用例
5. 実務での活用例

strip、lstrip、rstrip、chompは、ユーザー入力の整形、フォームデータの標準化、ファイル読み込み時の改行削除などで非常に役立ちます。例えば、複数行入力を配列にして処理する際にtrim処理を組み合わせることが多いです。


lines = ["  first line\n", "second line  ", "  third line  \n"]
clean_lines = lines.map(&:strip)
puts clean_lines

["first line", "second line", "third line"]

mapと組み合わせることで、配列内の文字列全てを一度に整形できます。入力チェックやCSV処理など、実務で頻繁に使用されます。

6. 空白・改行トリム処理のポイント

6. 空白・改行トリム処理のポイント
6. 空白・改行トリム処理のポイント

文字列の前後の空白や改行を整えることは、データ処理や表示の安定化に欠かせません。stripで両端をまとめて削除、lstrip/rstripで片方だけ削除、chompで末尾の改行だけを削除する、という使い分けを覚えると、Rubyでの文字列処理がぐっと便利になります。

まとめ

まとめ
まとめ

Rubyにおける空白・改行処理を理解する重要性

本記事では、Rubyの文字列処理において非常に重要なテーマである、空白や改行の削除方法について詳しく解説してきました。実際のプログラム開発では、ユーザー入力、ファイル読み込み、外部データの取り込みなど、文字列を扱う場面が数多く存在します。その中で、不要な空白や改行をそのままにしてしまうと、表示崩れや想定外の比較エラー、データ不整合の原因になることがあります。

Rubyには、strip、lstrip、rstrip、chompといった便利なメソッドが標準で用意されており、それぞれ役割がはっきり分かれています。stripは文字列の前後両方の空白や改行をまとめて削除できるため、最も汎用的に使われるメソッドです。ユーザー入力をそのまま扱う前にstripを適用するだけで、多くのトラブルを未然に防ぐことができます。

lstripとrstripは、削除したい位置が明確な場合に活躍します。先頭の空白だけを取り除きたい場合はlstrip、末尾の空白や余分な改行だけを削除したい場合はrstripを使うことで、意図しない文字の削除を防ぎつつ、必要な整形処理を行うことができます。特に、表示フォーマットやインデントを意識する場面では、これらのメソッドの使い分けが重要になります。

chompは改行削除に特化したメソッドであり、ファイル読み込みや標準入力を扱う際には欠かせない存在です。chompを使うことで、末尾の改行だけを安全に削除でき、文字列本体に含まれる空白をそのまま保持できます。この違いを理解していないと、「空白まで消えてしまった」「改行が残って比較できない」といった問題に直面しがちです。

また、配列とmapを組み合わせたトリム処理の例からも分かるように、Rubyでは複数の文字列をまとめて整形することも簡単に行えます。CSVデータや複数行入力を扱う実務では、空白・改行処理はほぼ必須の前処理となるため、今回学んだ内容はそのまま現場で役立つ知識と言えるでしょう。

まとめとしてのサンプルプログラム

最後に、stripとchompを組み合わせて、ユーザー入力を安全に扱うシンプルなサンプルを見てみましょう。入力値をそのまま使わず、整形してから処理することがポイントです。


def normalize_input(input)
  return nil if input.nil?
  input.chomp.strip
end

raw_text = "  Ruby string processing \n"
clean_text = normalize_input(raw_text)
puts clean_text

Ruby string processing

この例では、まずchompで末尾の改行を削除し、その後stripで前後の空白を取り除いています。このように処理の順序を意識することで、より安全で意図通りの文字列整形が可能になります。

先生と生徒の振り返り会話

生徒

「stripとchompの違いが、やっとはっきり分かりました。改行だけ消したいときにchompを使うんですね。」

先生

「そうです。目的に合ったメソッドを選ぶことで、無駄なトラブルを防げます。」

生徒

「lstripやrstripも、場面によって使い分けるとコードが分かりやすくなると感じました。」

先生

「その気づきは大切ですね。Rubyでは文字列処理の基本をしっかり押さえることで、実務でも通用する安定したプログラムが書けるようになります。」

生徒

「これからは、空白や改行を意識して、読みやすく安全なコードを書いていきたいです。」

関連記事:
カテゴリの一覧へ
新着記事
New1
データベース
SQLの処理が遅くなる原因とは?初心者向けにデータベースパフォーマンス最適化を完全解説
New2
Ruby
RubyのネストHash操作を徹底解説!digとtransformメソッドで複雑なデータも楽々
New3
Rails
Railsインデックス設計の極意!爆速サイトを作るためのスキーマ設計ガイド
New4
データベース
SQLのCOMMITとROLLBACKとは?トランザクション操作を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
PATHと環境変数の正しい設定!Windows・Mac・Linux別チェックリスト付き
No.2
Java&Spring記事人気No2
Rails
Railsで日本語と時刻の設定をしよう!初心者でも安心のlocale/zone初期設定チートシート
No.3
Java&Spring記事人気No3
Ruby
Rubyのハッシュを徹底比較!シンボルキーと文字列キーの違いと使い分け
No.4
Java&Spring記事人気No4
Rails
Railsマイグレーションの型選びを完全ガイド!初心者が迷わないカラム設計
No.5
Java&Spring記事人気No5
Ruby
WindowsでRubyをインストールする方法!RubyInstallerとMSYS2を使った完全ガイド
No.6
Java&Spring記事人気No6
Rails
RailsモデルとActive Record基礎|ID戦略を完全理解!AUTO INCREMENT・UUID・ULIDの比較と導入手順
No.7
Java&Spring記事人気No7
Rails
RailsモデルとActive Record基礎|クエリログの読み方を理解してEXPLAIN・joins・includesの違いを学ぼう
No.8
Java&Spring記事人気No8
データベース
ACID特性とは?データベーストランザクションの信頼性を初心者向けに徹底解説