Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

197
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda