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" |