我想看看字符串中是否有任何空格。在红宝石中这样做最有效的方法是什么?
由于
答案 0 :(得分:37)
如果“白色空间”是指正则表达式意义上的任何空格字符,制表符,换行符,回车符或(我认为)换页符,则提供的任何答案都可以使用:
s.match(/\s/)
s.index(/\s/)
s =~ /\s/
或甚至(之前未提及)
s[/\s/]
如果您只想检查空格字符,请尝试使用
s.match(" ")
s.index(" ")
s =~ / /
s[" "]
来自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
答案 1 :(得分:7)
some_string.match(/\s/)
答案 2 :(得分:4)
答案 3 :(得分:2)
你可以使用索引
"mystring".index(/\s/)
答案 4 :(得分:1)
COLOR_PAIR(n)
答案 5 :(得分:0)
我非常喜欢使用伯爵。
"hello 1".count("") #=> 0
"hello 1".count(" ") #=> 1
" hello 1".count(" ") #=> 2
"hello 1".count(" ") > 0 #=> true