Splashlin Splashlin - 1 year ago 87
Ruby Question

See if a ruby string has whitespace in it

I want to see if a string has any white space in it. What's the most effective way of doing this in ruby?


Answer Source

If by "white space" you mean in the Regular Expression sense, which is any of space character, tab, newline, carriage return or (I think) form-feed, then any of the answers provided will work:

s =~ /\s/

or even (not previously mentioned)


If you're only interested in checking for a space character, then try your preference of

s.match(" ")
s.index(" ")
s =~ / /
s[" "]

From irb (Ruby 1.8.6):

s = "a b"
puts s.match(/\s/) ? "yes" : "no" #-> yes
puts s.index(/\s/) ? "yes" : "no" #-> yes
puts s =~ /\s/ ? "yes" : "no" #-> yes
puts s[/\s/] ? "yes" : "no" #-> yes

s = "abc"
puts s.match(/\s/) ? "yes" : "no" #-> no
puts s.index(/\s/) ? "yes" : "no" #-> no
puts s =~ /\s/ ? "yes" : "no" #-> no
puts s[/\s/] ? "yes" : "no" #-> no
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download