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

256
Visualizações
Divida la cadena usando múltiples separadores y mantenga los separadores en el resultado

Estoy tratando de dividir cadenas en una matriz si hay un punto y coma ";" o un punto "." o dos puntos ":".

El problema es que me gustaría que la división se produjera justo después del separador, no antes. Este código funciona de otra manera, pero el separador está al comienzo de cada elemento de la matriz. ¿Cómo puedo hacer que el separador se convierta en el último carácter del elemento de matriz?

 const arrayForSplitText = myString.split((/(?=[.;:])/gi));

Ejemplo:

myString = "Hola. Me gustaría esto: dividirme con los separadores al final de cada elemento".

resultado actual:

["Hola", ". Me gustaría esto", ": divídame con los separadores al final de cada elemento", "."]

resultado deseado:

["Hola"., "Me gustaría esto:", "sepárame con los separadores al final de cada elemento".]

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

0

En lugar de mirar hacia adelante en busca del separador, mira hacia atrás para encontrarlo. Dado que parece que desea que los espacios después del separador también desaparezcan, si existen, agregue también un espacio opcional.

 const myString = "Hello there. I would like this: split me with the separators at the end of each element." const arrayForSplitText = myString.split(/(?<=[.;:]) ?/gi); console.log(arrayForSplitText);

Si no puede usar lookbehind, .match para cualquier cosa menos los separadores, seguido de los separadores, también funciona.

 const myString = "Hello there. I would like this: split me with the separators at the end of each element." const arrayForSplitText = myString.match(/[^.;:]+[.;:]/g); console.log(arrayForSplitText);

Para recortar también los espacios iniciales con .match se requerirá un patrón un poco más largo.

 const myString = "Hello there. I would like this: split me with the separators at the end of each element." const arrayForSplitText = myString.match(/[^.;: ][^.;:]*[.;:]/g); console.log(arrayForSplitText);

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