Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

183
Visualizações
Encontrar varias palabras completas con .split e .includes con Javascript

Estoy usando javascript y html para desarrollar un chatbot simple. El siguiente código funciona y usa .split para verificar una palabra completa, sin embargo, esto significa que cualquier cosa ingresada más larga que una palabra, como "¿cómo estás?" ya no funciona ¿Cómo se puede cambiar esto para que permita varias palabras pero aún verifique palabras completas como "hola" para que no se recojan en palabras más grandes como "alto", etc.

¡Cualquier ayuda sería muy apreciada! ¡Gracias!

 var know = { <!--General Phrases--> "Hi": "Hello! &#128075", "Hey": "Hello! &#128075", "Hello":"Hello &#128075 How can I help?", "how are you":"Not bad, thanks!", "Bye":"Have a nice day!", "Goodbye":"See you later!", <!--Directory--> "Help": `You can find help by searching below or by clicking <a href='https://www.page.com/news' target="_blank">here</a>`, "contact": `You can contact us by clicking <a href='https://www.page.com/contact' target="_blank">here</a>`, "About": `You can find our About Us page by clicking <a href='https://www.page.com/about' target="_blank">here</a>` }; function goo() { var userBox = document.getElementById('userBox'); var userInput = userBox.value; var chatLog = document.getElementById('chatLog'); var chatLogContent = ""; if (!userInput) { chatLogContent = '' } var hasKeyword = false; for (var key in know) { if (userInput.toLowerCase() .replace(/[.,\/#!$%\^&\*;:{}=\-_`~ ()]/g,"") .split(/\s+/) .includes(key.toLowerCase())) { hasKeyword = true; break; } else { hasKeyword = false; } } if (hasKeyword) { chatLogContent += know[key] + "<br>"; //or use know.key } else { chatLogContent += "No results found. Please enter another search term below.<br>"; } var server = document.createElement('div'); server.setAttribute('class', 'server'); server.innerHTML = chatLogContent; document.getElementById('chatLog').innerHTML = ''; chatLog.appendChild(server); }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puedes usar la expresión regular:

 var yourText = "how are you"; var youKeyRegexEscaped = "how are you" yourText.match(new RegExp('(^|\\s)'+youKeyRegexEscaped+'(\\s|$)'))

Explicación de Rexgex:

 (^|\s) -> begining of the string or space (\s|$) -> space or end of string

Para escapar de la clave, solo mire ¿Existe una función RegExp.escape en JavaScript?

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda