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

335
Vistas
Regexp elimina los espacios en blanco duplicados dejando solo 1 o 2 ocurrencias

Estoy haciendo un cuadro de comentarios simple y quiero eliminar el exceso de espacios en blanco reemplazando el espacio en blanco con solo 1 o 2 tokens, ya sean líneas nuevas o espacios.

(\s){2,} es lo que tengo hasta ahora. Sin embargo, quiero dejar a los usuarios la capacidad de escribir a doble espacio sus comentarios, y reemplazar esto con $1 , el primer grupo de captura, reduciría sus líneas a un solo espacio.

Así que básicamente,

Si tengo 1 espacio o nueva línea, reemplácelo con 1 espacio o nueva línea.

Si tengo más de 1 espacios o saltos de línea, reemplácelos con exactamente 2 espacios o saltos de línea.

Gracias.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puede reemplazar coincidencias de

 (?<=\s)\s+/

con un espacio

Manifestación

La expresión regular dice: "Coincide con uno o más caracteres de espacio en blanco que están precedidos por un carácter de espacio en blanco". (?<=\s) es una mirada positiva hacia atrás .

Tenga en cuenta que los caracteres a continuación marcados con '^' coinciden con la expresión regular y luego se reemplazan por un solo espacio:

 Two spaces then three then four then five\n then none ^ ^^ ^^^ ^^^^

Cuando las coincidencias se reemplazan por un espacio, la cadena se convierte en la siguiente.

 Two spaces then three then four then five\n then none

Observe que el espacio que sigue al carácter de nueva línea es el primero de cuatro caracteres de espacio en blanco que coinciden.

about 4 years ago · Juan Pablo Isaza Denunciar

0

text=document.getElemntById('comment_text_input').value while(text.indexOf('\n\n\n')!=-1||text.indexOf(' ')!=-1) { text=text.replaceAll('\n\n\n','\n\n') //it makes '\n\n\n\n\n\n' to '\n\n\n\n', the next round '\n\n\n' and finally '\n\n' text=text.replaceAll(' ',' ') // the same with the newlines } document.getElemntById('comment_text_input').value=text
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes usar

 .replace(/(\s{2})\s+/g, '$1')

Detalles :

  • (\s{2}) - Grupo 1: dos caracteres de espacio en blanco
  • \s+ - uno o más espacios en blanco.

Vea la demostración de JavaScript:

 const text = 'Abc 123\n DEF 234\n New line' console.log(text.replace(/(\s{2})\s+/g, '$1'));

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