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

97
Vistas
dividir el valor de la cadena pero mantener el salto de línea dentro de la nueva matriz

Quiero mantener los saltos de línea después de hacer algo de lógica en mi valor de cadena para un elemento de área de texto. Digamos que tengo esta cadena de mi área de texto:

 "Test Newline here"

matriz: ["Test\nNewline", "here"]

¿Cómo puedo guardarlo para que sea así: ["Test", "\n", "Newline", "here"]

Mi código:

 let bodyText = "Test Newline here" let bodyTextArray = bodyText.split(/ |\n|(?=\n)/g)

Básicamente, lo que sucede es dividir y eliminar los espacios y "\n". usar la anticipación positiva no funciona, estaba intentando con la anticipación negativa sin éxito.

¿Algunas ideas?

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

0

Puedes combinarlos:

 let bodyText = `Test Newline here` let bodyTextArray = bodyText.match(/^\n|\S+/gm) console.log(bodyTextArray)

Detalles :

  • ^\n - comienzo de una línea y una nueva línea
  • | - o
  • \S+ : uno o más caracteres que no sean espacios en blanco.

Para admitir terminaciones de línea CRLF, LF o CR, use

 /^(?:\r\n?|\n)|\S+/gm

donde (?:\r\n?|\n) reemplazó a \n y coincide con un carácter CR y LF opcional, o simplemente con un carácter LF.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Necesitas esto

 let bodyText = "Test Newline here" let bodyTextArray = bodyText.split(/( |\n)/)

Si coloca la captura () alrededor de lo que está dividiendo, eso se agrega a la salida

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar una división usando esta expresión regular:

 /(\n)+|\s+/

Código:

 const input = `Test Newline here`; var arr = input.split(/(\n)+|\s+/); console.log(arr.filter(Boolean));

Explicación:

  • /(\n)+|\s+/ divide la entrada en 1+ líneas nuevas mientras captura una sola línea nueva (para que \n esté disponible en la matriz de salida después de la división) o 1+ espacios en blanco
  • .filter(Boolean) elimina las entradas vacías o indefinidas de la matriz
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