Quiero ver si una cadena tiene algún espacio en blanco. ¿Cuál es la forma más efectiva de hacer esto en ruby?Ver si una cadena de rubí tiene espacios en blanco
Gracias
Quiero ver si una cadena tiene algún espacio en blanco. ¿Cuál es la forma más efectiva de hacer esto en ruby?Ver si una cadena de rubí tiene espacios en blanco
Gracias
Si con "espacio en blanco" quiere decir en el sentido de Expresión regular, que tiene carácter de espacio, tabulación, nueva línea, retorno de carro o (creo) formulario de avance, entonces cualquiera de las respuestas proporcionadas funcionará:
s.match(/\s/)
s.index(/\s/)
s =~ /\s/
o incluso (no se mencionó anteriormente)
s[/\s/]
Si sólo estás interesado en la comprobación de un carácter de espacio, y luego probar su preferencia de
s.match(" ")
s.index(" ")
s =~//
s[" "]
del IRB (Rubí 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/)
generalmente se hace de esta manera:
str =~ /\s/
Usted puede leer acerca de las expresiones regulares here.
me gusta mucho el uso de la cuenta para esto.
"hello 1".count("") #=> 0
"hello 1".count(" ") #=> 1
" hello 1".count(" ") #=> 2
"hello 1".count(" ") > 0 #=> true
Al actualizar esto, [String # match?] (Http://ruby-doc.org/core-2.4.1/String.html#method-i-match-3F) hizo su debut en Ruby v2 .4, por lo que ahora también se puede escribir 's.match? (/ \ S /)'. –