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

202
Views
Encontrar el índice de varias palabras idénticas

Tengo una cadena de látex como esta

 let result = "\\frac{x}{2}+\\frac{3}{x}";

Quiero encontrar el índice de "frac" en la cadena y ponerlos en una matriz, luego quiero encontrar el primer carácter '}' después de "frac" y reemplazarlo con "}/" y finalmente eliminar "frac" de la cuerda.

Usé este bloque de código pero funciona correctamente cuando tenemos un "frac"

 let result = "\\frac{x}{2}+\\frac{3}{x}"; if (result.indexOf("frac") != -1) { for (let i = 0; i < result.split("frac").length; i++) { let j = result.indexOf("frac"); let permission = true; while (permission) { if (result[j] == "}") { result = result.replace(result[j], "}/") permission = false; } j++; } result = result.replace('frac', ''); } } console.log(result)

SALIDA: \\{x}//{2}+\\{3}{x}

¿Alguien podría ayudarme a mejorar mi código?

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

0

¿Algo como esto?

frac(.+?)}

es la fracción literal seguida de un grupo de captura que capturará uno o más de cualquier cosa .+ hasta un } y lo reemplazará con ese cualquier cosa más un }/

Usando la función de reemplazo para tomar el índice y reemplazar

 let result = "\\frac{x}{2}+\\frac{3}{x}"; let pos = []; const newRes = result.replace(/frac(.+?)}/g,function(match, found, offset,string) { console.log(match,found,offset,string) pos.push(offset) return `${found}/`; // return the found string with the added slash }) console.log(pos) console.log(newRes)

Respuesta anterior usando dos conjuntos de código

 let result = "\\frac{x}{2}+\\frac{3}{x}"; let re = /frac/gi, res, pos = []; while ((res = re.exec(result))) { pos.push(res.index); } const newRes = result.replace(/frac(.+?)}/g,"$1}/") console.log(pos) console.log(newRes)

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!