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

176
Visualizações
RegExp / JavaScript: cadena dividida en varios caracteres, mantenga los separadores sin usar lookbehind

Digamos que tengo una cadena: "This is a string-thing" . Quiero dividir tanto el espacio como el guión, pero mantengo los separadores junto con la palabra anterior => ["This ", "is ", "a ", "string-", "thing"]

Actualmente estoy haciendo esto usando la siguiente expresión regular:

 string.split(/(?<=[\s-])/g)

Esto hace lo que se supone que debe hacer... al menos en Chrome. Según tengo entendido, Safari no es compatible con lookbehind en regExp, lo que rompe el código. ¿Hay alguna manera de hacer esto sin mirar atrás?

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

0

Podrías unir las palabras sin mirar atrás.

 const string = "This is a string-thing", parts = string.match(/.+?([\s-]|$)/g); console.log(parts);

about 4 years ago · Juan Pablo Isaza Relatório

0

También puede usar dividir con un grupo de captura para mantener el valor para dividir y eliminar las entradas vacías de la matriz resultante.

El patrón coincide

  • ( Grupo de captura 1
    • [^\s-]* Repetir más de 0 veces haciendo coincidir cualquier carácter que no sea un carácter de espacio en blanco o -
    • [\s-] Coincide con un carácter de espacio en blanco o -
  • ) Cerrar grupo 1

Tenga en cuenta que \s también puede coincidir con una nueva línea.

 const s = "This is a string-thing"; const regex = /([^\s-]*[\s-])/; console.log(s.split(regex).filter(Boolean));

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