查看ruby字符串中是否有空格

时间:2010-01-25 06:44:25

标签: ruby string

我想看看字符串中是否有任何空格。在红宝石中这样做最有效的方法是什么?

由于

6 个答案:

答案 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)

通常这样做:

str =~ /\s/

您可以阅读有关正则表达式here的内容。

答案 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