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

192
Visualizações
use expresiones regulares para reemplazar espacios que ocurren con un valor dependiendo de cuántos espacios se encuentran

Quiero usar una expresión regular que busque espacios con una longitud mínima de 2 en una fila y reemplace la aparición con otro valor para cada aparición del espacio encontrado.

Por ejemplo:

 I love to eat cake

Hay 3 espacios después del amor y 4 espacios después de comer. Quiero que mi expresión regular reemplace las ocurrencias de un espacio más de 1, y que lo reemplace con un valor para cada ocurrencia encontrada.

La salida que estoy tratando de buscar:

 I love---to eat----cake

Probé algo como

 myStr.replace(/ +{2,}/g, '-')
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede usar este código con una mirada hacia adelante y una mirada hacia atrás:

 const s = 'I love to eat cake' var r = s.replace(/ (?= )|(?<= ) /g, '-'); console.log(r); //=> 'I love---to eat----cake'

Detalles RegEx:

  • (?= ) : coincide con un espacio solo si va seguido de un espacio
  • | : O
  • (?<= ) : Coincide con un espacio solo si está precedido por un espacio
about 4 years ago · Juan Pablo Isaza Relatório

0

Puede unir dos o más espacios en blanco y reemplazarlos con la misma cantidad de guiones:

 const s = 'I love to eat cake' console.log(s.replace(/\s{2,}/g, (x) => '-'.repeat(x.length)) )

El mismo enfoque se puede usar en Python (ya que lo solicitó ), re.sub(r'\s{2,}', lambda x: '-' * len(x.group()), s) , consulte Python demostración

Además, puede reemplazar cualquier espacio en blanco seguido de un carácter de espacio en blanco o precedido por un espacio en blanco usando

 const s = 'I love to eat cake' console.log(s.replace(/\s(?=\s|(?<=\s.))/gs, '-') ) console.log(s.replace(/\s(?=\s|(?<=\s\s))/g, '-') )

Vea esta demostración de expresiones regulares . Aquí, la bandera s hace . coincide con cualquier carácter. g hace que la expresión regular reemplace todas las ocurrencias. También,

  • \s - coincide con cualquier espacio en blanco
  • (?=\s|(?<=\s.)) - una búsqueda anticipada positiva que coincide con una ubicación seguida inmediatamente por un carácter de espacio en blanco ( \s ) o ( | ) si va precedida inmediatamente por un espacio en blanco y cualquier un carácter (que es el espacio en blanco coincidente). Si usa la versión (?<=\s\s) , no hay necesidad de la bandera s , \s\s solo se asegura de que se verifique el espacio en blanco antes del espacio en blanco coincidente.
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