Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

167
Vistas
¿Cómo puedo verificar si una cadena contiene una frase o palabra en JavaScript, pero también puedo asegurarme de que la palabra no esté dentro de otra?

Necesito verificar si hay una frase o una palabra dentro de una determinada cadena. Sin embargo, la palabra no puede estar dentro de otra palabra. Por ejemplo, si la cadena es " Hola , ¿cómo estás ? Esto es genial, por cierto". Si estoy buscando la palabra "hola", solo debería aparecer una vez; la que está dentro de "esto" no debería contarse. El "cómo estás" también debe contarse ya que es una frase que estoy buscando. A continuación se muestra mi código. Esencialmente, tengo una variedad de matrices con frases que estoy buscando. Tengo un += porque si la cadena dice "Hola, ¿cómo estás?" por ejemplo, quiero responder tanto al "hola" como al "cómo estás". Creo que podría tener que usar expresiones regulares, pero no estoy muy seguro de cómo lo haría. Cualquier orientación sería muy apreciada. ¡Muchas gracias!

 for(let a = 0; a < userquestions.length; a++) { for (let b = 0; b < userquestions[a].length; b++) { if(usermessage.includes(userquestions[a][b])) { responsemessage += chatbotresponses[a][Math.floor(Math.random() * chatbotresponses[a].length)]; } } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Deberías usar expresiones regulares, de hecho.

Prueba esto:

 function escapeRegExp(string) { return string.replace(/([.*+?^=!:${}()|[]\/\])/g, "\\$1"); } function searchWholeWord(wholeWord, hostString) { var regex = '\\b'; regex += escapeRegExp(wholeWord); regex += '\\b'; var result = new RegExp(regex, 'i').test(hostString); return result } found = searchWholeWord("hi", "Hi, how are you? This is really cool, by the way."); alert(found); //returns true found = searchWholeWord("hi", "This is really cool, by the way."); alert(found); //returns false

http://jsfiddle.net/Ydr3R/

Basado en esta publicación: busque una palabra completa en una cadena

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda