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

155
Views
¿Cómo puedo dividir una entrada de cadena en Javascript por cada barra espaciadora, pero no elementos dentro de "comillas dobles", "comillas" simples o comillas invertidas?

Estoy tratando de obtener una serie de argumentos de una cadena haciendo lo siguiente

 const str = `argument "second argument" 'third argument' \`fourth argument\``; str.split(/\s(?=(?:[^'"`]*(['"`])[^'"`]*\1)*[^'"`]*$)/g);

El resultado esperado:

 ['argument', '"second argument"', "'third argument'", '`fourth argument`']

Pero sale esto:

 ['argument', '`', '"second argument"', '`', "'third argument'", '`', '`fourth argument`']

¿Cómo puedo recuperar una matriz de solo 4 elementos?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Después de obtener una matriz, puede usar el filter para filtrar la cadena no deseada

 const str = `argument "second argument" 'third argument' \`fourth argument\``; const result = str .split(/\s(?=(?:[^'"`]*(['"`])[^'"`]*\1)*[^'"`]*$)/g) .filter((s) => /[az]/.test(s)); console.log(result);

También puede lograr el mismo resultado usando la manipulación de cadenas

 const str = `argument "second argument" 'third argument' \`fourth argument\``; const replacerFn = (match) => match.split(" ").join("_"); const result = str .replace(/".*?"|'.*?'|`.*?`/g, replacerFn) .split(" ") .map((s) => s.split("_").join(" ")); console.log(result);

about 4 years ago · Juan Pablo Isaza Report

0

Sugiero que estandarice su cadena antes de dividirla en matriz

Reemplace todo ` por " y así

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!