[Ruby]文字列の改行文字を削除したい

はじめに

ファイルなどから文字列を読み込んだ場合など、「\n」といった改行文字が含まれることがあるため、その改行文字を削除する処理が必要になる。そこで使うメソッドが「chompメソッド」である。

文字列の末尾にある改行文字を削除する

chompメソッド

文字列の末尾にある改行文字を削除するメソッド。

例)

str = "lotte\n"

p str
p str.chomp
"lotte\n" #chompなし
"lotte"   #chompあり

*末尾以外の場所に改行文字がある場合は、削除されない。

str = "lot\nte"

p str
p str.chomp
"lot\nte" #chompなし
"lot\nte"  #chompあり

chomp!メソッド

chompと違い、破壊的メソッド*であるため、改行文字を削除した値がそのまま元の文字列として返される。

*変数に適用した場合、変数そのものを書き換えてしまうメソッド

str = "lotte\n"

p str.chomp
p str

p str.chomp!
p str
"lotte"
"lotte\n" #chomp後

"lotte"
"lotte" #chomp!後

上記のようにchomp!は元の文字列を破壊し、改行文字のない文字列に書き換わっている。

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