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

215
Visualizações
¿Cómo eliminar etiquetas html de una cadena Html usando RegEx?

Tengo una cadena HTML que contiene nombres:

 <div class=\"ExternalClassBE95E28C1751447DB985774141C7FE9C\"><p>Tina Schmelz<br></p><p>Sascha Balke<br></p></div>

Y me gustaría eliminar todas las etiquetas html y poner '&' entre los nombres, pero no al final del último como:

 Not desired: Tina Schmelz & Sascha Balke & Desired: Tina Schmelz & Sascha Balke

Utilicé la propiedad regex y string replace.

Podría hacerlo usando reemplazar todas las etiquetas <br> con ' & ' y luego eliminar todas las etiquetas html usando estos códigos:

 let mytext = '<div class=\"ExternalClassBE95E28C1751447DB985774141C7FE9C\"><p>Tina Schmelz<br></p><p>Sascha Balke<br></p></div>'; mytext = mytext.replaceAll(/<br>/gi, ' & '); mytext = mytext.replaceAll(/<.*?>/gi, ''); console.log(mytext)

Mi pregunta: ¿cómo puedo eliminar el último ' & '? O, ¿alguien sabe mejor RegEx para completar todo en una línea? :)

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puedes usar

 .replace(/<br>(?=(?:\s*<[^>]*>)*$)|(<br>)|<[^>]*>/gi, (x,y) => y ? ' & ' : '')

Vea la demostración de JavaScript:

 const text = '<div class="ExternalClassBE95E28C1751447DB985774141C7FE9C"><p>Tina Schmelz<br></p><p>Sascha Balke<br></p></div>'; const regex = /<br>(?=(?:\s*<[^>]*>)*$)|(<br>)|<[^>]*>/gi; console.log( text.replace(regex, (x,y) => y ? ' & ' : '') );

Detalles :

  • <br>(?=(?:\s*<[^>]*>)*$) - un <br> seguido de cero o más apariciones de cero o más espacios en blanco y luego una subcadena <...> hasta el final de la cadena
  • | - o
  • (<br>) - Grupo 1: etiqueta <br>
  • | - o
  • <[^>]*> - < , cero o más caracteres que no sean < y > y luego un > .
about 4 years ago · Juan Pablo Isaza Relatório

0

Podrías reemplazar todas las etiquetas con el código que ya escribiste; luego use la función de división para dividir los nombres y la de unir para insertar el & en los puntos deseados.

 const myTextParsed = [] let myText = '<div class=\"ExternalClassBE95E28C1751447DB985774141C7FE9C\"><p>Tina Schmelz<br></p><p>Sascha Balke<br></p></div>'; let myTextArray = myText.split('<br>'); myTextArray = myTextArray.map(ta => { const temp = ta.replaceAll(/<.*?>/gi, '') if (temp.length > 0) { myTextParsed.push(temp) } }); myText = myTextParsed.join(' & '); console.log(myText)

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