言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

Ruby辞典

  1. トップページ
  2. Ruby辞典
  3. 文字列.strip / lstrip / rstrip / chomp / chop

文字列.strip / lstrip / rstrip / chomp / chop

対応: Ruby 1.8(2003)

文字列の前後の空白や末尾の改行・文字を除去するメソッドです。ユーザー入力の正規化によく使われます。

構文

# 前後の空白(スペース・タブ・改行)を除去します。
文字列.strip

# 先頭の空白のみ除去します。
文字列.lstrip

# 末尾の空白のみ除去します。
文字列.rstrip

# 末尾の改行コードを除去します。
文字列.chomp
文字列.chomp(区切り文字)

# 末尾の1文字を除去します。
文字列.chop

メソッド一覧

メソッド概要
strip文字列の先頭と末尾にある空白文字(スペース・タブ・改行)を除去した新しい文字列を返します。
lstrip先頭の空白文字のみを除去します。
rstrip末尾の空白文字のみを除去します。
chomp末尾の改行コード(『\n』『\r\n』『\r』)を除去します。引数で除去する文字列を指定できます。
chop末尾の1文字を無条件に除去します。末尾が『\r\n』の場合は2文字除去します。
strip!元の文字列を直接変更します(破壊的メソッド)。

サンプルコード

sample_string_strip_chomp.rb
# strip で前後の空白を除去します。
input = "  Hello World  "
puts input.strip # Hello World
puts input.lstrip # Hello World  (末尾スペースは残る)
puts input.rstrip #   Hello World(先頭スペースは残る)

# chomp で末尾の改行を除去します。
line = "data\n"
puts line.chomp # data(改行なし)

# chomp に引数を指定して特定の文字列を除去します。
text = "Hello!!!"
puts text.chomp("!") # Hello!!(最後の1文字分だけ)

# chop で末尾の1文字を除去します。
word = "Rubys"
puts word.chop # Ruby

# ファイルの各行から改行を除去する処理です。
lines = ["alpha\n", "bravo\n", "charlie\n"]
clean = lines.map(&:chomp)
puts clean.inspect # ["alpha", "bravo", "charlie"]

# フォーム入力値の正規化に活用できます。
email = "  User1@wp-p.info  "
normalized = email.strip.downcase
puts normalized # user1@wp-p.info
ruby string_strip_chomp.rb
Hello World
Hello World
  Hello World
data
Hello!!
Ruby
["alpha", "bravo", "charlie"]
user1@wp-p.info

概要

『strip』はフォーム入力値の前後の空白を取り除く際によく使われます。これらのメソッドはすべて元の文字列を変更せず、新しい文字列を返します。

『chomp』と『chop』の違いに注意してください。『chomp』は末尾が改行コードの場合のみ除去しますが、『chop』は改行の有無にかかわらず末尾の1文字を削除します。予期しない文字削除を避けるため、通常は『chomp』の使用を推奨します。

文字列の置換には『sub / gsub』を、文字列の分割には『split』を使用してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。