[Ruby]文字列(string)の空白を削除するには?

Ruby

どうも、ちょげ(@chogetarou)です。

文字列(string)の空白を削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列(string)の空白を削除する方法は、3つあります。

deleteメソッド

ひとつめは、deleteメソッドを使う方法です。

まず、文字列からdeleteメソッドを呼び出します。

そして、deleteメソッドの引数に空白を指定します。

#text=対象の文字列
result = text.delete('  ')

上記のdeleteメソッドは、呼び出した文字列(string)から空白を全て削除した新しい文字列を生成します。

もし、新しい文字列を生成せず、呼び出した文字列を変更したい場合は、gsub!()メソッドを呼び出します。

#呼び出した文字列を変更
text.delete!('  ')

上記のdeleteメソッドでは、引数に半角と全角の空白を1文字ずつ入力し、半角と全角の両方の空白を削除できるようにしています。

半角の空白のみを削除したい場合は、引数に半角の空白のみを入力します。

逆に、全角の空白のみを削除したい場合は、引数に全角の空白のみを入力します。

#半角の空白のみを削除
result = text.gsub(/\s+/, '')

使用例1

text = " He l l  o,   W   o r l d   ."

result = text.delete('  ')

puts result
出力:
Hello,World.

使用例2

text = " He l l  o,   W   o r l d   ."

text.delete!('  ')

puts text
出力:
Hello,World.

gsubメソッド

ふたつめは、gsubメソッドを使う方法です。

まず、文字列からgsub()メソッドを呼び出します。

そして、gsub()メソッドの第1引数に「[[:space:]]」、第2引数に空文字を指定します。

#text=対象の文字列
result = text.gsub(/[[:space:]]/, '')

上記のgsub()メソッドは、呼び出した文字列(string)から空白を全て削除した新しい文字列を生成します。

もし、新しい文字列を生成せず、呼び出した文字列を変更したい場合は、gsub!()メソッドを呼び出します。

#呼び出した文字列を変更
text.gsub!(/[[:space:]]/, '')

「[[:space:]]」は、半角の空白を含めて削除します。

半角の空白のみを削除したい場合は、「[[:space:]]」ではなく「\s+」を指定します。

#半角の空白のみを削除
result = text.gsub(/\s+/, '')

使用例1

text = " He l l  o,   W   o r l d   ."

result = text.gsub(/[[:space:]]/, '')

puts result
出力:
Hello,World.

使用例2

text = " He l l  o,   W   o r l d   ."

text.gsub!(/[[:space:]]/, '')

puts text
出力:
Hello,World.

stripメソッド

みっつめは、stripメソッドを使う方法です。

text.strip」のように、文字列からstripメソッドを呼び出します。

#text=対象の文字列
result = text.strip

上記のstripメソッドは、呼び出した文字列(string)の左右の空白(スペース)を削除した新しい文字列を生成します。

もし、新しい文字列を生成せず、呼び出した文字列を変更したい場合は、strip!メソッドを呼び出します。

#呼び出した文字列を変更
text.strip!

左側の空白だけを削除したい場合はlstripメソッド、右側の空白だけを削除したい場合はrstripメソッドを使います。

#左側の空白だけを削除
result = text.lstrip
#右側の空白だけを削除
result = text.rstrip

使用例1

text = " Hello, World    "

result = text.strip

puts result + "."
出力:
Hello, World.

使用例2

text = " Hello, World    "

text.strip!

puts text + "."
出力:
Hello, World.
スポンサーリンク

まとめ

文字列(string)の空白を削除する方法は、次の3つです。

  • deleteメソッドを使う方法
    result = text.delete('  ')
  • gsubメソッドを使う方法
    result = text.gsub(/[[:space:]]/, '')
  • stripメソッドを使う方法
    result = text.strip

コメント

タイトルとURLをコピーしました