空白文字を取り除く

広告

文字列の先頭や末尾に含まれる空白文字(及びタブなど)を削除する方法を確認します。Stringクラスで用意されている「strip」メソッドを使います。

strip

先頭と末尾の空白文字を全て取り除いて新しい文字列を返します。 空白文字として削除される文字は空白「 」の他に「¥t」「¥r」「¥n」「¥f」「¥v」です。

具体的には次のように記述します。

str = "  Hello¥r"
newStr = str.strip

上記の場合には変数「newStr」には「Hello」が格納されます。

なお「strip」の代わりに「strip!」メソッドを使った場合は先頭と末尾の空白文字を取り除いた結果を新しい文字列として返すのではなく、元の文字列を書き換えます。

strip!

具体的には次のように記述します。

str = "  Hello¥r"
str.strip!

上記の場合には変数「str」には「Hello」が格納されます。

取り除く位置として先頭又は末尾を指定する

「strip」メソッドは先頭及び末尾の空白文字を取り除きますが先頭だけ又は末尾だけの空白文字を取り除きたい場合には次のメソッドを使用します。

「lstrip」メソッド及び「lstrip!」メソッドは文字列の先頭の空白文字を取り除きます。「lstrip」メソッドは取り除いた結果として新しい文字列を作成するのに対して「lstrip!」メソッドは元の文字列を書き換えます。

lstrip
lstrip!

「rstrip」メソッド及び「rstrip!」メソッドは文字列の末尾の空白文字を取り除きます。「rstrip」メソッドは取り除いた結果として新しい文字列を作成するのに対して「rstrip!」メソッドは元の文字列を書き換えます。

rstrip
rstrip!

サンプルプログラム

では簡単なサンプルで試してみます。

LibraryString11.rb

#! ruby -Ks

str = "   Hello "
print("対象の文字列[", str, "]¥n")

print("stripの結果[", str.strip, "]¥n")
print("lstripの結果[", str.lstrip, "]¥n")
print("rstripの結果[", str.rstrip, "]¥n")

実行結果は次のようになります。

先頭及び末尾に含まれる空白文字を削除する

( Written by Tatsuo Ikura )