chompは末尾の改行文字を削除する。ただし"\n\r"の場合は"\n"が削除されずに残る。
|
1 2 3 4 5 6 7 8 9 10 11 |
p("abcd\n".chomp) # "abcd" p("abcd\r".chomp) # "abcd" p("abcd\r\n".chomp) # "abcd" p("abcd\n\r".chomp) # "abcd\n" |
"\n\r"を削除したいときは引数に"\n\r"を指定するか、chompを2回実行する(chompは改行文字列だけを削除する)。
|
1 2 3 4 5 6 7 8 |
p("abcd\n\r".chomp("\n\r")) # "abcd" p("abcd\n\r".chomp.chomp) # "abcd" p("abcd\n".chomp.chomp) # "abcd" |
末尾以外にある改行文字は削除されない。
|
1 2 |
p("abc\ndef\n".chomp) # "abc\ndef" |
chopは非破壊的であり、元の文字列は変更されない。
|
1 2 3 4 5 6 7 |
s = "abcd\n" p(s.chomp) # "abcd" p(s) # "abcd\n" |
chop!にすると破壊的メソッドになり、戻り値も変更後の文字列。
|
1 2 3 4 5 |
p(s.chomp!) # "abcd" p(s) # "abcd" |