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

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

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 Report

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 Report

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