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

336
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 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