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

178
Visualizações
¿Cómo Javascript divide un fragmento de texto en palabras individuales? y agregar etiquetas de intervalo a cada palabra?

Escribí un fragmento de código JavaScript y quiero implementar dos funciones:

1: Divide un fragmento de texto en matrices de palabras separadas. Hasta ahora, he usado regex para buscar espacios y puntuación. Hace parte de la funcionalidad, pero no puede hacer nada con el código de espacio en blanco   .

2: Envuelva cada palabra en el HTML con una etiqueta de span . (No sé cómo debo implementar esto)

este es el codigo:

 <!DOCTYPE html> <html> <head> <script> window.onload = function() { var text = document.getElementById('text').textContent // Regex cannot search for `&nbsp;` var word_array = text.split(/[ \t\n\r.?,"';:!()[\]{}<>\/]/) console.log(text) console.log(word_array) } </script> </head> <body> the other text <div id="text"> this is text,break&nbsp;up&nbsp;&nbsp;the;words! istest testis, text <a href="#">text build</a> html tag! </div> the other text </body> </html>

Sin embargo, mi código no separa las tres palabras. Por ejemplo, break&nbsp;up&nbsp;&nbsp;the , debería convertirse en [break,up,the] .

Además, no envolví todas las palabras en el div con etiquetas de span , así:

 <div id="text"> <span id='word_1'>this</span> <span id='word_2'>is</span> ... <span id='word_3'>text</span> <a href="#"><span id='word_4'>text</span> <span id='word_5'>build</span></a> <span id='word_6'>html</span> <span id='word_7'>tag</span>! </div>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

\s hará el trabajo. Tu puedes cambiar:

 var word_array = text.split(/[ \t\n\r.?,"';:!()[\]{}<>\/]/) ^^

a:

 var word_array = text.split(/[\s\t\n\r.?,"';:!()[\]{}<>\/]/) ^^

Por cierto, \s es una abreviatura de [ \t\r\n\f] . Entonces puedes simplificar tu expresión a:

 var word_array = text.split(/[\s.?,"';:!()[\]{}<>\/]/)

Entonces es posible que deba eliminar elementos vacíos de la matriz:

 //remove '' from word_array var word_array2 = word_array.filter(e => e != '')

Para la pregunta 2, el siguiente código envolverá las palabras de texto con la etiqueta span : Editado en base al comentario de @dong

 function add_span(word_array, element_) { for (let i = 0; i < word_array.length; i++) { var reg = new RegExp("([\s.?,\"';:!(){}<>])(" + word_array[i] + ")([\s.?,\"';:!])", 'g'); element_ = element_.replace(reg, '$1<span>$2</span>$3'); } return element_ }
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