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

177
Views
cadena dividida basada en el límite de caracteres y un punto

Quiero dividir una cadena según el límite de 30 caracteres y el problema aquí es que debería romperse en un punto ( . ) o una coma ( , ) o un espacio ( ). es decir, la longitud de la cadena de 30 o un delimitador, lo que ocurra primero. Probé con la coincidencia usando expresiones regulares, esto se divide bien, pero no con un delimitador.

Por ejemplo, aquí está mi código de muestra.

 let x='Lorem ipsum dolor sit amet. Excepteur cuptat non proident, consectetur adipiscing elite detailo'; let splitString = x.match(/.{1,30}/g); console.log(splitString);

Aquí la salida que obtengo es

 [ "Lorem ipsum dolor sit amet. Ex", "cepteur cuptat non proident, c", "onsectetur adipiscing elite de", "tailo" ]

Pero quiero que esto suceda usando una coma, un punto o un espacio como delimitador. La salida esperada es

 [ "Lorem ipsum dolor sit amet.", "Excepteur cuptat non proident,", "consectetur adipiscing elite", "detailo" ]
about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Podrías coincidir con esta expresión regular:

 [^\s].{1,29}((?=\s|$)|(?<=[.,]))

que busca un carácter que no sea un espacio ( [^\s] ), y luego hasta otros 29 caracteres ( .{1,29} ) que:

  1. van seguidos de un espacio o final de línea (?=\s|$) ; o
  2. terminar con coma o punto (?<=[.,])

 let x='Lorem ipsum dolor sit amet. Excepteur cuptat non proident, consectetur adipiscing elite detailo'; let splitString = x.match(/[^\s].{1,29}((?=\s|$)|(?<=[.,]))/g); console.log(splitString);

about 4 years ago · Santiago Trujillo Report

0

 let x='Lorem ipsum dolor sit amet. Excepteur cuptat non proident, consectetur adipiscing elite detailo'; let splitString = x.match(/.{1,30}[\.\s,]/g).map(item => item.trim()); const remaining = x.replace(splitString.join(' '), ''); splitString = [...splitString, remaining.trim()] console.log(splitString);

Editar :

Eliminé los espacios finales en las subcadenas. No sé si es necesario, pero ahora existe el resultado deseado exacto.

about 4 years ago · Santiago Trujillo 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!