Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

194
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda