Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

189
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!