Foros del Web » Programando para Internet » Javascript »

Buscar palabra dentro de cadena

Estas en el tema de Buscar palabra dentro de cadena en el foro de Javascript en Foros del Web. Hola. Necesito buscar dentro de una cadena los valores que contiene un array Código: Function restringir_palabra(texto){ var palabras_reservadas = ['auto', 'casa', 'perro'] for (i=0; i=(palabras_reservadas-1); ...
  #1 (permalink)  
Antiguo 22/11/2012, 06:44
 
Fecha de Ingreso: enero-2010
Mensajes: 128
Antigüedad: 14 años, 3 meses
Puntos: 2
Buscar palabra dentro de cadena

Hola.

Necesito buscar dentro de una cadena los valores que contiene un array

Código:
Function restringir_palabra(texto){

var palabras_reservadas = ['auto', 'casa', 'perro']

     for (i=0; i=(palabras_reservadas-1); i++){
        //Ahora necesito una funcion que busque dentro de la cadena ejemplo
        //strstr ("Cadena Pricipal", "Patron")
        //strstr (texo, palabras_reservadas[i])

     }
}
Pero strstr no es una funcion de Javascript. ¿qué puedo usar?

Gracias.-
__________________
Por favor evitar comentarios del estilo "leer el manual...", ya lo hice pero aun tengo dudas, por eso pregunto acá
  #2 (permalink)  
Antiguo 22/11/2012, 07:02
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Buscar palabra dentro de cadena

Mira a ver si te vale esto http://www.w3schools.com/jsref/jsref_search.asp

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 22/11/2012, 07:11
 
Fecha de Ingreso: enero-2010
Mensajes: 128
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Buscar palabra dentro de cadena

Gracias, me sirvió. Pensé que en "search()", no se podian usar array, pero me anduvo, Lo paso en limpio por si alguien le sirve

Código:

Código:
Function restringir_palabra(texto){

var palabras_reservadas = ['auto', 'casa', 'perro']

     for (i=0; i=(palabras_reservadas-1); i++){
        alert (texto.search (palabras_reservadas[i]));
       //Si la encuentra devuelve la posición(cuenta desde cero), sino devuelve -1

     }
}
__________________
Por favor evitar comentarios del estilo "leer el manual...", ya lo hice pero aun tengo dudas, por eso pregunto acá
  #4 (permalink)  
Antiguo 22/11/2012, 07:15
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Buscar palabra dentro de cadena

otra posibilidad es usa indexOf()
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 22/11/2012, 11:28
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Buscar palabra dentro de cadena

Si estás buscando palabras completas, lo indicado es usar match()

tanto search() como indexOf() te van a resultar en coincidencias,

casablanca -> encuentra casa
automóvil -> encuentra auto

Demo
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>Buscar coincidencias en cadena</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. </head>
  7. <p>
  8. <button onclick="buscar_palabras()">Buscar</button><br />
  9. <textarea rows="3" cols="80" id="texto">El el auto estaba estacionado detrás de la casablanca del perro</textarea>
  10. </p>
  11. function buscar_palabras(){
  12. var texto=document.getElementById('texto').value;
  13. var palabras_reservadas = ['auto', 'casa', 'perro'];
  14. for (i=0; i<palabras_reservadas.length ; i++){
  15. var patt=new RegExp("\\b "+palabras_reservadas[i] +"\\b"); // agregar modificador 'i' para "case sensitive"
  16. var n=texto.match(patt);
  17. if(n != null){
  18. alert("'" + palabras_reservadas[i] + "' existe en la cadena");
  19. }
  20. }
  21. }
  22. </body>
  23. </html>

Salu2
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: funcion, palabra, cadenas
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 03:31.