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

Ruby

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

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

スポンサーリンク

方法

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

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

deleteメソッド

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

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

そして、delete()メソッドの引数に削除する文字を指定します。

#text=対象の文字列, char=削除する文字
result = text.delete(char)

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

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

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

使用例1

text = "Haaelalaoaa,Woarlaada."

result = text.delete('a')

p result
出力:
"Hello,World."

使用例2

text = "Haaelalaoaa,Woarlaada."

text.delete!('a')

p text
出力:
"Hello,World."

trメソッド

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

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

そして、tr()メソッドの第1引数に削除する文字、第2引数に空文字を指定します。

#text=対象の文字列, char=削除する文字
result = text.tr(char, '')

上記のtr()メソッドは、呼び出した文字列(string)から第1引数の文字を削除した新しい文字列を生成します。

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

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

使用例1

text = "Haaelalaoaa,Woarlaada."

result = text.tr('a', '')

p result
出力:
"Hello,World."

使用例2

text = "Haaelalaoaa,Woarlaada."

text.tr!('a', '')

p text
出力:
"Hello,World."

gsubメソッド

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

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

そして、gsub()メソッドの第1引数に削除する文字の正規表現、第2引数に空文字を指定します。

#text=対象の文字列, regex=削除する文字の正規表現
result = text.gsub(/regex/, '')

上記のgsub()メソッドは、呼び出した文字列(string)から正規表現にマッチした文字を削除した新しい文字列を生成します。

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

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

使用例1

text = "H12el3l456,Wo7rl89d."

result = text.gsub(/[1-9]/, '')

p result
出力:
"Hello,World."

使用例2

text = "H12el3l456,Wo7rl89d."

text.gsub!(/[1-9]/, '')

p text
出力:
"Hello,World."

まとめ

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

  • deleteメソッドを使う方法
    result = text.delete(char)
  • trメソッドを使う方法
    result = text.tr(char, '')
  • gsubメソッドを使う方法
    result = text.gsub(/regex/, '')

コメント

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