Ruby strings have a rich set of methods for manipulation, and many come in two forms: a normal version (returns a new string) and a bang (!) version (modifies the string in place, mutating the original). Understanding this distinction is important for correctness and avoiding bugs.
Common string methods
.upcase
.downcase
.strip
.reverse
.length
.split()
[, ].join()
.sub(, )
.gsub(, )
.?()
.start_with?()
.chars
.to_i; .to_f
