Chcę sprawdzić, czy ciąg znaków zawiera dowolne białe spacje. Jaki jest najskuteczniejszy sposób robienia tego w ruby?Sprawdź, czy ciąg ruby zawiera białe spacje.
Dzięki
Chcę sprawdzić, czy ciąg znaków zawiera dowolne białe spacje. Jaki jest najskuteczniejszy sposób robienia tego w ruby?Sprawdź, czy ciąg ruby zawiera białe spacje.
Dzięki
Jeśli przez "białą przestrzeń" rozumiesz w znaczeniu wyrażeń regularnych, która jest dowolną z znaków spacji, tabulacji, znaków nowej linii, znaku powrotu karetki lub (jak sądzę) formularza, wówczas każda z odpowiedzi będzie działać:
s.match(/\s/)
s.index(/\s/)
s =~ /\s/
lub nawet (nie wcześniej wspomniano)
s[/\s/]
Jeśli jesteś zainteresowany tylko sprawdzanie znak spacji, a następnie spróbować swoich preferencji
s.match(" ")
s.index(" ")
s =~//
s[" "]
Od 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
some_string.match(/\s/)
bardzo lubię za pomocą licznika do tego.
"hello 1".count("") #=> 0
"hello 1".count(" ") #=> 1
" hello 1".count(" ") #=> 2
"hello 1".count(" ") > 0 #=> true
Po aktualizacji tej wersji, [String # match?] (Http://ruby-doc.org/core-2.4.1/String.html#method-i-match-3F) zadebiutował w Ruby v2 .4, więc teraz można również napisać 's.match? (/ \ S /)'. –