Foros del Web » Programando para Internet » Javascript »

cadenas

Estas en el tema de cadenas en el foro de Javascript en Foros del Web. Hola amigos... Tengo un problema, quiero saber si una palabra esta contenida en otra, me explico , tengo en una caja de texto la palabra ...
  #1 (permalink)  
Antiguo 03/07/2007, 14:28
 
Fecha de Ingreso: abril-2006
Mensajes: 75
Antigüedad: 18 años, 9 meses
Puntos: 0
cadenas

Hola amigos...
Tengo un problema, quiero saber si una palabra esta contenida en otra, me explico , tengo en una caja de texto la palabra ratapodridainmundapodrida, y en otra caja la palabra podrida, me gustaría saber como saber si la segunda palabra esta en la primera y cuantas veces...les agradezco un saludo.
  #2 (permalink)  
Antiguo 03/07/2007, 15:10
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 8 meses
Puntos: 834
Re: cadenas

Probá así:
Código PHP:
<script>
cad='ratapodridainmundapodrida'
s='podrida'
String.prototype.substr_count = function() 
{
  var 
search arguments[0];
  var 
count 0;
  var 
pos this.indexOf(search);
  while ( 
pos != -) {
     
count++;
     
pos this.indexOf(search,pos+1);
  }
  return 
count;
}
alert(cad.substr_count(s))
</script> 
  #3 (permalink)  
Antiguo 03/07/2007, 15:18
 
Fecha de Ingreso: abril-2006
Mensajes: 75
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: cadenas

Gracias!! funciona perfectamente, si puedes explicarmelo te lo agradeceria..
  #4 (permalink)  
Antiguo 03/07/2007, 15:29
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 8 meses
Puntos: 834
Re: cadenas

Antes: no sé de dónde lo saqué, lo tengo hace mucho.
Con prototype le agregamos un método al objeto String. Lo llamamos substr_count por la función homónima de php, que hace lo mismo. Básicamente usa el método ya definido indexOf, que lo que hace es entregar la posición del primer caracter de la cadena madre que coincide con la subcadena (que es la que se le pasa como primer parámetro a indexOf) a partir de una posición numérica (si es que se define el segundo parámetro) o a partir del primer caracter (si no se define el segundo parámetro). Si no encuentra la subcadena, devuelve -1.
  #5 (permalink)  
Antiguo 03/07/2007, 20:22
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 3 meses
Puntos: 45
Re: cadenas

Sólo por participar:

Código PHP:
var cad='ratapodridainmundapodrida';
var 
s='podrida';

var 
resultados cad.match( new RegExp(s,"g") );
alert(resultados.length); 
Si ya quisiéramos saber la posición de esas dos subcadenas.. lo tenemos un poco más dificil...
Me acuerdo que hice lo mismo que ha posteado Panino, pero con expresiones regulares (usando match, exec, search, indexOf... ya no me acuerdo). Pero es de hace muchísimo y no he podido encontrar el post.

Ojo que hay que comprobar si resultados no es null que si no lo encuentra da error! jeje.


Un saludo!



EDIT: O incluso asi?
Código PHP:
var cad='ratapodridainmundapodrida';
var 
s='podrida';

var 
resultados cad.split);
alert(resultados.length-1); 
No estoy seguro de este último método...
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 21:14.