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

251
Views
JS String ¿cómo extraer una matriz de subcadena que coincida con una condición?

Tengo una cadena como esta:

 "|hello| + |world| / |again|"

Y necesito obtener las subcadenas dentro del | y devolver una matriz como esta:

 ["hello", "world", "again"]

¿Cuál es el mejor enfoque para lograr esto?

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

0

Puede usar una expresión regular que busca grupos que consisten solo en letras ( ([A-Za-z]) ) entre tuberías ( /| ) donde las tuberías se omitirán de la coincidencia real (envueltas con (?:) ))-- luego use .matchAll para obtener todas las coincidencias y .map el resultado para obtener solo los grupos capturados (se omiten las no capturas); consulte a continuación:

 const str = "|hello| + |world| / |again|"; const re = /(?:\|)([A-Za-z]+)(?:\|)/g; const results = [...str.matchAll(re)].map((entry) => entry[1]); console.log(results);

Esto funcionará para hacer coincidir solo aquellas palabras que están entre tuberías. Si tiene otras palabras en su cadena que no están envueltas entre tuberías, se ignorarán. Como el siguiente fragmento:

 const str = "|hello| + |world| / |again| how are |you| doing?"; const re = /(?:\|)([A-Za-z]+)(?:\|)/g; const results = [...str.matchAll(re)].map((entry) => entry[1]); console.log(results);

about 4 years ago · Juan Pablo Isaza Report

0

 array = []; let name = ""; let input = "|hello| + |world| / |again|"; let index = 0; let isStart = false; while (index < input.length) { if (input[index] == '|') { isStart = !isStart; if (!isStart) { array.push(name); name = ""; } } else { if (isStart) { name = name + input[index]; } } index++; } console.log(array);

about 4 years ago · Juan Pablo Isaza Report

0

Si esa cadena no cambia de formato, use una expresión regular para que match con varias letras minúsculas.

 const str = '|hello| + |world| / |again|'; const regex = /[az]+/g; console.log(str.match(regex));

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!