Ruby string methods clean, normalize, and split text into useful pieces.

string method String methods return transformed text or information about the original string.

String Methods

raw_text
string_methods.rb
Replay: real traced execution (multi-file project)
raw_text = "  Ruby Rocks  "

clean = raw_text.strip
lower = clean.downcase
words = lower.split
has_ruby = lower.include?("ruby")

puts "clean=#{clean}"
puts "lower=#{lower}"
puts "words=#{words.join(",")}"
puts "has_ruby=#{has_ruby}"
raw_text = "  hello world  "

clean = raw_text.strip
lower = clean.downcase
words = lower.split
has_ruby = lower.include?("ruby")

puts "clean=#{clean}"
puts "lower=#{lower}"
puts "words=#{words.join(",")}"
puts "has_ruby=#{has_ruby}"
raw_text = "  Rails Guide  "

clean = raw_text.strip
lower = clean.downcase
words = lower.split
has_ruby = lower.include?("ruby")

puts "clean=#{clean}"
puts "lower=#{lower}"
puts "words=#{words.join(",")}"
puts "has_ruby=#{has_ruby}"
  1. raw_text ← Ruby Rocks , clean ← Ruby Rocks, lower ← ruby rocks

    1raw_text→   Ruby Rocks   = "  Ruby Rocks  "  #@raw_text="  hello world  ", "  Rails Guide  "23clean→ Ruby Rocks = raw_text.stripRuby Rocks4lower→ ruby rocks = clean.downcaseruby rocks5words→ ["ruby", "rocks"] = lower.split["ruby", "rocks"]6has_ruby→ true = lower.include?("ruby")true78puts "clean=#{cleanRuby Rocks}"9puts "lower=#{lowerruby rocks}"10puts "words=#{words.join(",")ruby,rocks}"11puts "has_ruby=#{has_rubytrue}"
    outputclean=Ruby Rocks
    lower=ruby rocks
    words=ruby,rocks
    has_ruby=true
  1. raw_text ← hello world , clean ← hello world, lower ← hello world

    1raw_text→   hello world   = "  hello world  "23clean→ hello world = raw_text.striphello world4lower→ hello world = clean.downcasehello world5words→ ["hello", "world"] = lower.split["hello", "world"]6has_ruby→ false = lower.include?("ruby")false78puts "clean=#{cleanhello world}"9puts "lower=#{lowerhello world}"10puts "words=#{words.join(",")hello,world}"11puts "has_ruby=#{has_rubyfalse}"
    outputclean=hello world
    lower=hello world
    words=hello,world
    has_ruby=false
  1. raw_text ← Rails Guide , clean ← Rails Guide, lower ← rails guide

    1raw_text→   Rails Guide   = "  Rails Guide  "23clean→ Rails Guide = raw_text.stripRails Guide4lower→ rails guide = clean.downcaserails guide5words→ ["rails", "guide"] = lower.split["rails", "guide"]6has_ruby→ false = lower.include?("ruby")false78puts "clean=#{cleanRails Guide}"9puts "lower=#{lowerrails guide}"10puts "words=#{words.join(",")rails,guide}"11puts "has_ruby=#{has_rubyfalse}"
    outputclean=Rails Guide
    lower=rails guide
    words=rails,guide
    has_ruby=false