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

158
Views
¿Cómo creo una función que extrae el medio al final de cadenas de diferentes longitudes?

Estoy tratando de crear una función que agregue un espacio entre "vuelo" y "###", pero me gustaría que funcione si el número de vuelo tiene más de 3 dígitos. Sé que podría hacer que la segunda parte del método de corte sea un gran número y técnicamente funcionaría, pero creo que debería haber una forma más elegante. ¡Cualquier ayuda será apreciada, gracias!

 const addSpace = function (str) { const flightNumber = str.slice(6, 9); return [str.slice(0, 6) + ' ' + flightNumber] } console.log(...addSpace('flight843'));
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Puede hacer coincidir 6 caracteres az y 3 o más dígitos usando un patrón con 2 grupos de captura.

En el reemplazo use los 2 grupos de captura con un espacio en el medio.

 const addSpace = str => str.replace(/\b([az]{6})(\d{3,})\b/g, "$1 $2"); console.log(addSpace('flight843'));

También puede hacer coincidir literalmente el vuelo y agregar anclas si esa es la única cadena permitida.

 ^(flight)(\d{3,})$
about 4 years ago · Juan Pablo Isaza Report

0

Como cuerda de flight siempre estará ahí. Simplemente podemos lograr esto usando el método String.replace() . También realicé la prueba de rendimiento en jsbench y funciona más rápido entre todas las soluciones mencionadas aquí.

Demostración en vivo :

 const addSpace = function (str) { const len = str.replace('flight', '').length; return len > 3 ? str.replace('flight', 'flight ') : str } console.log(addSpace('flight843')); // 'flight843' console.log(addSpace('flight8432')); // 'flight 8432'

about 4 years ago · Juan Pablo Isaza Report

0

Si solo necesita agregar espacio, creo que esta es una solución simple para su búsqueda. Con esta función dinámica es posible agregar espacio para muchos bloques de palabras.

 /* ADD Spacing */ const string = "flightNumber"; const dataValue = "flight"; function addSpacing(str, data){ //Verify if exist the wolrd in the string if(str.includes(data)){ //get the word let word = str.substr(0, data.length); //Add Capitalise let strCapitalize = word.charAt(0).toUpperCase(); let cleanword = word.slice(1, +data.length); //add spacing let newStr = str.replace(word, strCapitalize + cleanword + " "); console.log(newStr); } } addSpacing(string, dataValue);
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!