はじめてのRuby!chopメソッドの使い方を解説!

こんにちは!エンジニア兼ライターのヤマシタです。

Rubyにはさまざまな文字列操作のメソッドが用意されています。

プログラミングをする上で、

「文字列の末尾の文字を取り除くにはどうすればいいの?」

などといった処理が必要な場合もあります。

そこでここでは、

【基礎】chopメソッドとは
【実践】chopメソッドの使い方
【実践】chopメソッドの用途
【実践】破壊的メソッドchop!メソッドの使い方
【発展】chopの関連メソッド

などにについて解説していきます!

文字列に末尾を削除する処理は、実際の開発の現場でもよく使われますので、使い方をよく覚えておきましょう!

chopメソッドとは

chopメソッドは、文字列の末尾の文字をとりのぞいた文字列を取得したい場合に使用するメソッドです。

chopメソッドは以下のように記述します。

文字列.chop

末尾が改行コード「\n(LR)」「\r\n(CR+LF)」の場合は、改行コードが削除されます。

次項よりchopメソッドの使い方を詳しく見ていきましょう。

chopメソッドの使い方

chopメソッドの基本

以下のサンプルでは、chopメソッドを使用して文字列の末尾を取り除いています。

サンプルプログラム:

str1 = "samruai"
str2 = "engineer"
str3 = "blog"

puts str1.chop
puts str2.chop
puts str3.chop

実行結果:

samrua
enginee
blo

このように文字列の末尾が取り除かれました。

結局どのような用途で使うの?

chopメソッドは文字列の末尾の1文字を削除しますが、具体的にどのような用途で使うのでしょうか?

たとえば、先述したようにchopメソッドは改行文字を取り除くことができるため、ファイルなどを読み込んで末尾の改行コードを取り除きたい場合に使用します。

サンプルプログラム:改行コードを削除

str1 = "samruai\n"
str2 = "engineer\r\n"
str3 = "blog\r"

puts str1.chop
puts str2.chop

実行結果:

samruai
engineer
blog

このように改行コードが取り除かれます。

また、文字列末尾の不要なセパレータ(カンマ、スペース)などを削除したい場合にも使われます。

サンプルプログラム:セパレータを削除

str1 = "samruai,"
str2 = "engineer "
str3 = "blog:"

puts str1.chop
puts str2.chop
puts str3.chop

実行結果:

samruai
engineer
blog

このように不要なセパレータが削除されました!

chop!メソッドの使い方

chopメソッドは元の文字列に影響を与えませんが、「!」が付加されたchopメソッドを使用すると、元の文字列が変更されます。

このように元の値に影響を及ぼすメソッドのことをRubyでは破壊的メソッドと呼びます。

破壊的メソッドはメソッドに「!」が付加されています。

サンプルプログラム:chop!の使い方

str1 = "samruai,"
str2 = "engineer "
str3 = "blog:"

str1.chop!
str2.chop!
str3.chop!

puts str1
puts str2
puts str3

実行結果:

samruai
engineer
blog

このように破壊的メソッドchop!の場合は元の文字列オブジェクトが変更されていることがわかりますね!

  • 元の値を残して置きたい場合はchop
  • 元の値を変更したい場合はchop!

と覚えておきましょう。

関連メソッド

Rubyのメソッドにはchopメソッドと似たような処理として、chomp・strip・gsubなどがあります。

それぞれのメソッドの使い方については、以下の記事で詳しく解説しています!

まとめ

ここでは、文字列の末尾を削除するchopメソッドについて、

  • chopメソッドとは
  • chopメソッドの使い方
  • chopメソッドの用途
  • 破壊的メソッドchop!メソッドの使い方
  • chopの関連メソッド

などについて解説しました。

文字列の末尾を削除したいとき、chopメソッドは非常に便利ですので使い方についてはよく理解しておきましょう。

もしchopメソッドの使い方を忘れてしまったら、この記事を思い出してくださいね!

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部として、これまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。プログラミング初学者に向けてわかりやすく、ためになるコンテンツ作りを心がけています。

おすすめコンテンツ

まずはここから!初心者でも1から学べるプログラミング入門カリキュラム

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー