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

203
Views
Cómo extraer una subcadena específica (basada en expresiones regulares) de una matriz de cadenas

Tengo una gran variedad de cadenas:

 ['{{Wanted Value}}', 'true', '{{Wanted Value}}', '{{Wanted Value}} unwanted {{Wanted Value}}', 'false'...]

Quiero filtrar la matriz y extraer cada subcadena {{Wanted Value}} a una nueva matriz. Si el elemento de la matriz contiene 2 o más de estas subcadenas, quiero tener cada una de ellas como un elemento separado. Así que el resultado de la matriz anterior sería:

 ['{{Wanted Value}}', {{Wanted Value}}', {{Wanted Value}}', {{Wanted Value}}']

Escribí la expresión regular que quiero usar pero no estoy seguro de cómo escribir la función de filtro correctamente:

 match(/\{\{(.+?)\}\}/)[0]

Gracias

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

0

Puedes probar este enfoque

  • flatMap es recopilar todas las cadenas coincidentes
  • el filter es para deshacerse de los resultados vacíos

 const data =['{{Wanted Value}}', 'true', '{{Wanted Value}}', '{{Wanted Value}} unwanted {{Wanted Value}}', 'false'] const result = data.flatMap(stringData => stringData.match(/\{\{(.+?)\}\}/g)).filter(stringData => stringData); console.log(result)

about 4 years ago · Juan Pablo Isaza Report

0

Aquí hay un código que usa la función de reduce y match de cadenas para filtrar el resultado

 let r = ['{{Wanted Value}}', 'true', '{{Wanted Value}}', '{{Wanted Value}}', 'unwanted','{{Wanted Value}}', 'false']; const result = r.reduce((accumulator, current) => { return current.match(/\{\{(.+?)\}\}/)? accumulator.concat(current): accumulator; }, []); console.log(result);

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!