Returns a new string copied from +self+, with trailing characters possibly removed: When +line_sep+ is "\n", removes the last one or two characters if they are "\r", "\n", or "\r\n" (but not "\n\r"): $/ # => "\n" "abc\r".chomp # => "abc" "abc\n".chomp # => "abc" "abc\r\n".chomp # => "abc" "abc\n\r".chomp # => "abc\n" "тест\r\n".chomp # => "тест" "こんにちは\r\n".chomp # => "こんにちは" When +line_sep+ is '' (an empty string), removes multiple trailing occurrences of "\n" or "\r\n" (but not "\r" or "\n\r"): "abc\n\n\n".chomp('') # => "abc" "abc\r\n\r\n\r\n".chomp('') # => "abc" "abc\n\n\r\n\r\n\n\n".chomp('') # => "abc" "abc\n\r\n\r\n\r".chomp('') # => "abc\n\r\n\r\n\r" "abc\r\r\r".chomp('') # => "abc\r\r\r" When +line_sep+ is neither "\n" nor '', removes a single trailing line separator if there is one: 'abcd'.chomp('d') # => "abc" 'abcdd'.chomp('d') # => "abcd"