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

214
Views
¿Cómo obtener las palabras antes de un determinado carácter cuando las filas del conjunto de datos pueden o no contener ese carácter usando GAS?

El resultado que obtengo ahora me deja en blanco cuando ese carácter no está allí:

Código

 const categories = catSubSheet.getRange(2, 1, catSubSheet.getLastRow() - 1, 3).getValues(); let categories1 = categories.filter(e => e[0] != '').map(function (e) { return e[0] }); let sheetsToProcess = []; for (let a = 0; a < categories1.length; a++) { sheetNames = categories1[a].substring(0, categories1[a].indexOf(" (")); sheetsToProcess.push('BOQ ' + sheetNames) }

Datos

 [ [GF HTG SHEET 1 (Drawing)], [GF HTG SHEET 2 (Drawing)], [GF DWS SHEET 1], ]

El resultado

 Sheets to Process: BOQ GF HTG SHEET 1,BOQ GF HTG SHEET 2,BOQ

Resultado Esperado

 Sheets to Process: BOQ GF HTG SHEET 1,BOQ GF HTG SHEET 2,BOQ GF DWS SHEET 1
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Como una solución rápida, puedes probar esto:

 ... let sheetsToProcess = []; for (let a = 0; a < categories1.length; a++) { var index = categories1[a].indexOf(" ("); if (index > -1) { sheetNames = categories1[a].substring(0,index) } else { sheetNames = categories1[a] } sheetsToProcess.push('BOQ ' + sheetNames) } ...

Pero en realidad se puede hacer de una manera más ordenada.

Algo como esto:

 var categories1 = [ 'GF HTG SHEET 1 (Drawing)', 'GF HTG SHEET 2 (Drawing)', 'GF DWS SHEET 1' ]; var sheetsToProcess = categories1.map(x => 'BOQ ' + x.replace(/ \(.+$/, '')); console.log(sheetsToProcess); // [ 'BOQ GF HTG SHEET 1', 'BOQ GF HTG SHEET 2', 'BOQ GF DWS SHEET 1' ]

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!