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

205
Visualizações
Reemplazar matriz de señales dentro de un lapso

Quiero envolver cada signo en la matriz dada dentro de una etiqueta de intervalo para poder representarlo en DOM:

Aquí está la matriz de signos:

 const signs = ['!!', '?!', '!?', '...', '..', '.', '?', '!', ':', '؟!', '!؟', '؟'];

Puedo reemplazar cada signo individualmente así:

 result = result.replace(/([\:])/g, "<span class='some-class'>&nbsp;:</span>");

El código anterior puso: firmar dentro de un lapso.

¿Cómo puedo hacer esto para todos los signos de matriz sin codificarlos?

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

0

Puedes usar

 let result = "!! ?! !? ... .. . ? ! : ؟!, !؟ ؟"; const signs = ['!!', '?!', '!?', '...', '..', '.', '?', '!', ':', '؟!', '!؟', '؟']; signs.sort((a, b) => b.length - a.length); const regex = new RegExp(signs.map(x => x.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')).join('|'), 'g'); result = result.replace(regex, "<span class='some-class'>&nbsp;$&</span>"); console.log(result)

Aquí,

  • signs.sort((a, b) => b.length - a.length) ordena los elementos de la matriz de signs por longitud en orden descendente
  • signs.map(x => x.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')) - escapa todos los caracteres especiales en los elementos para que coincidan con caracteres literales dentro de una expresión regular
  • ....join('|') - crea una expresión regular de alternancia
  • new RegExp(..., 'g') - define un objeto RegExp que coincide con todas las ocurrencias de patrones en la cadena
  • $& en el patrón de reemplazo inserta el valor de coincidencia.
about 4 years ago · Juan Pablo Isaza Relatório

0

Podrías usar:

 result = signs.map(sign => "<span class='some-class'>&nbsp;" + sign + "</span>");

o si desea usar expresiones regulares, sería demasiado complicado:

 result = signs.map(sign => sign.replace(/(.+)/g, "<span class='some-class'>&nbsp;$1</span>"));
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