Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
文字列.strip / lstrip / rstrip / chomp / chop
文字列の前後の空白や末尾の改行・文字を除去するメソッドです。ユーザー入力の正規化によく使われます。
構文
# 前後の空白(スペース・タブ・改行)を除去します。 文字列.strip # 先頭の空白のみ除去します。 文字列.lstrip # 末尾の空白のみ除去します。 文字列.rstrip # 末尾の改行コードを除去します。 文字列.chomp 文字列.chomp(区切り文字) # 末尾の1文字を除去します。 文字列.chop
メソッド一覧
| メソッド | 概要 |
|---|---|
| strip | 文字列の先頭と末尾にある空白文字(スペース・タブ・改行)を除去した新しい文字列を返します。 |
| lstrip | 先頭の空白文字のみを除去します。 |
| rstrip | 末尾の空白文字のみを除去します。 |
| chomp | 末尾の改行コード(『\n』『\r\n』『\r』)を除去します。引数で除去する文字列を指定できます。 |
| chop | 末尾の1文字を無条件に除去します。末尾が『\r\n』の場合は2文字除去します。 |
| strip! | 元の文字列を直接変更します(破壊的メソッド)。 |
サンプルコード
# strip で前後の空白を除去します。
入力値 = " 田中太郎 "
puts 入力値.strip # 田中太郎
puts 入力値.lstrip # 田中太郎 (末尾スペースは残る)
puts 入力値.rstrip # 田中太郎(先頭スペースは残る)
# chomp で末尾の改行を除去します。
行 = "データ\n"
puts 行.chomp # データ(改行なし)
# chomp に引数を指定して特定の文字列を除去します。
テキスト = "Hello!!!"
puts テキスト.chomp("!") # Hello!!(最後の1文字分だけ)
# chop で末尾の1文字を除去します。
単語 = "Rubys"
puts 単語.chop # Ruby
# ファイルの各行から改行を除去する処理です。
行データ = ["apple\n", "banana\n", "cherry\n"]
クリーン = 行データ.map(&:chomp)
puts クリーン.inspect # ["apple", "banana", "cherry"]
# フォーム入力値の正規化に活用できます。
メール = " user@example.com "
正規化 = メール.strip.downcase
puts 正規化 # user@example.com
概要
『strip』はフォーム入力値の前後の空白を取り除く際によく使われます。これらのメソッドはすべて元の文字列を変更せず、新しい文字列を返します。
『chomp』と『chop』の違いに注意してください。『chomp』は末尾が改行コードの場合のみ除去しますが、『chop』は改行の有無にかかわらず末尾の1文字を削除します。予期しない文字削除を避けるため、通常は『chomp』の使用を推奨します。
文字列の置換には『sub / gsub』を、文字列の分割には『split』を使用してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。