Chomp, strip, chop. Sometimes we need to trim characters from the start or end of strings. With chomp, strip and chop, we can remove leading and trailing chars.
With chomp, we remove trailing newlines only (unless a custom argument is provided). Strip removes leading and trailing whitespace. Chop removes the last char.
Chomp example. This removes the newline characters from the end of a string. So it will remove "\n" or "\r\n" if those characters are at the end. A substring is removed if it is present.
# Chomp removes ending whitespace and returns a copy.
value = "egypt\r\n"
value2 = value.chomp
puts value2
# Chomp! modifies the string in-place.
value3 = "england\r\n"
value3.chomp!
puts value3
# An argument specifies apart to be removed.
value4 = "european"
value4.chomp! "an"
puts value4egypt
england
europe
Strip. This method is sometimes called trim(): it removes all leading and trailing whitespace. Spaces, newlines, and other whitespace like tab characters are eliminated.
Part 1 We invoke strip with an exclamation mark to modify the string in-place. The leading space and trailing newline are removed.
Part 2 We call chomp to see how it differs from strip. With chomp, the leading space is left alone.
# Part 1: strip removes leading and trailing whitespace.
value1 = " bird\n"
value1.strip!
puts "[" + value1 + "]"# Part 2: chomp does not remove spaces, only newlines.
value2 = " bird\n"
value2.chomp!
puts "[" + value2 + "]"[bird]
[ bird]
Chop. Here we use the chop() method. This method is similar to chomp, but less safe. It removes the final character from the input. This can lead to corrupt data.
Part 1 This code shows that the last character in a string is always removed with chop—even if it is not whitespace.
Part 2 Chomp() is safer than chop, as it will not remove an ending char unless it is a newline character.
# Part 1: chop removes the last character.
value1 = "cat"
value1.chop!
puts "[" + value1 + "]"# Part 2: chomp only removes a newline at the end.
value2 = "cat"
value2.chomp!
puts "[" + value2 + "]"[ca]
[cat]
When processing text in Ruby programs, we usually need to remove certain leading trailing characters. Strip() is a versatile method, but chomp() and chop can also be useful.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.