Foros del Web » Programando para Internet » Ruby »

Buscar una subcadena en una cadena

Estas en el tema de Buscar una subcadena en una cadena en el foro de Ruby en Foros del Web. Buenos días, necesito una función para ruby (no ruby on rails) que me devuelva true cuando encuentre una subcadena en una cadena y false cuando ...
  #1 (permalink)  
Antiguo 14/08/2009, 05:19
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 10 años, 8 meses
Puntos: 1
Exclamación Buscar una subcadena en una cadena

Buenos días, necesito una función para ruby (no ruby on rails) que me devuelva true cuando encuentre una subcadena en una cadena y false cuando no.

Estoy intentándolo con expresiones regulares pero no lo consigo.

Muchas gracias.
  #2 (permalink)  
Antiguo 14/08/2009, 11:34
Avatar de racanix  
Fecha de Ingreso: diciembre-2008
Ubicación: Morelia Mich.
Mensajes: 192
Antigüedad: 9 años, 10 meses
Puntos: 8
Respuesta: Buscar una subcadena en una cadena

Te pongo un ejemplito sencillo espero y te funcione...

Código:
#!/usr/bin/ruby -w

myString = "Comparar las Cadenas"
print myString;

substring = "las";
start = myString.index(substring);
cadena = myString[start,substring.length]
if cadena == substring then
        print "son Iguales";  // retornas true
else
        print "No son iguales"; // retornas false
end

print start
print cadena

suerte

  #3 (permalink)  
Antiguo 14/08/2009, 13:28
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: Buscar una subcadena en una cadena

Gracias por tu ayuda, creo que tu método es válido. Antes de leer este mensaje al final logré hacerlo yo:

Código:
def buscar_subcadena(buscado, donde_buscar)
  m1 = /#{buscado}/.match(donde_buscar)
  if m1 == nil
    return false
  else
    return true
  end
end
  #4 (permalink)  
Antiguo 20/08/2009, 13:31
 
Fecha de Ingreso: abril-2009
Mensajes: 371
Antigüedad: 9 años, 5 meses
Puntos: 22
Respuesta: Buscar una subcadena en una cadena

argh.
@racanix: no se ponen mayusculas en nombres de variables, solo de clases !
@jorgegetafe: usa String#include? que hace exactamente lo que tu quieres y es una funcion de ruby-core (que sera varias ordenes de magnitud mas rapida que tu funcion con regexp)

por ejemplo: "cadena".include? "ena" # => true
  #5 (permalink)  
Antiguo 24/08/2009, 04:59
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: Buscar una subcadena en una cadena

Gracias, lo usaré de ahora en adelante.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:00.