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

94
Vistas
Cómo separar una cadena en partes con menos de una longitud definida

Tengo una cadena ( this is the very very very very long string ) y lo que quiero es dividirla en partes con menos de 25 caracteres y las partes deben tener palabras completas como esta: this is the very very very very long string no esta es la y very long string this is the very very ver y muy larga.

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

0

Un enfoque basado en la reduce que concatene y recopile dichos parciales y también limite la longitud concatenada de cada parcial podría implementarse de manera similar al siguiente código de ejemplo proporcionado...

 function concatAndCollectPartialsOfLimitedLength(collector, str) { const { limit = 24, list } = collector; const lastIdx = list.length - 1; const partial = list[lastIdx]; if (partial && (partial.length + str.length + 1 <= limit)) { // concatenate if partial exists and if the length of its // next concatenated version does not exceed the limit ... list[lastIdx] = [partial, str].join(' '); } else { // ... otherwise provide and collect the base // for the following concatenation step(s). list.push(str); } return collector; } console.log( 'concatenated partial length is limited to 24 chars ...', "this is the very very very very long string and some more of it and even more" .trim() .split(/\s+/) .reduce(concatAndCollectPartialsOfLimitedLength, { list: [] }) .list ); console.log( 'concatenated partial length is limited to 13 chars ...', "this is the very very very very long string and some more of it and even more" .trim() .split(/\s+/) .reduce( concatAndCollectPartialsOfLimitedLength, { limit: 13, list: [] } ) .list ); console.log( 'concatenated partial length is limited to 31 chars ...', "this is the very very very very long string and some more of it and even more" .trim() .split(/\s+/) .reduce( concatAndCollectPartialsOfLimitedLength, { limit: 31, list: [] } ) .list );
 .as-console-wrapper { min-height: 100%!important; top: 0; }

about 4 years ago · Juan Pablo Isaza Denunciar

0

así es como resolví eso:

 function stringSeperator( str, n ){ // str: your string , n: max length of each part let j = 0 let sepArr = [""] let strArr = str.split(" ") for(let i=0 ; i<strArr.length ; i++){ if(sepArr[j].length + strArr[i].length >= n){ j++ sepArr[j] = "" } sepArr[j] += strArr[i] + " " } return sepArr }

que devolverá una matriz de partes de la cadena. También agregué un espacio al final de cada parte que se puede omitir

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