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

220
Views
¿Cómo reemplazar un carácter específico en una subcadena de un texto largo?

De javascript, dado este texto de varias líneas (almacenado en una variable):

 +++ diagramme graph TD A[fooA] ==> B[fooB] style A color:blue B --> C[(<img src="https://c7.alamy.com/compfr/jcdcx7/image-d-icone-de-soleil-jcdcx7.jpg" width="50">)] C --> D[fooD] B --> D click D "https://fii.com" _blank +++

Estoy buscando una manera de reemplazar todo " por el char ' dentro de la etiqueta img. En la etiqueta img, la cantidad de atributos puede variar.

En mi ejemplo, el resultado esperado es:

 +++ diagramme graph TD A[fooA] ==> B[fooB] style A color:blue B --> C[(<img src='https://c7.alamy.com/compfr/jcdcx7/image-d-icone-de-soleil-jcdcx7.jpg' width='50'>)] C --> D[fooD] B --> D click D "https://fii.com" _blank +++

Sé cómo usar expresiones regulares (¡gracias a un sitio web increíble como https://regex101.com/ !), así que puedo capturar la etiqueta img con este patrón simple /(<img)(.*)(>)/g . Pero no sé cómo puedo reemplazar todas las apariciones de un carácter específico (aquí ") por otro (aquí ') en una subcadena obtenida a través de una expresión regular.

editar: la posición y el número de las etiquetas img pueden variar en la estructura '+++ diagrama ... +++'. Debajo de otro ejemplo:

 +++ diagramme graph TD A[fooA] ==> B[(<img src="https://fuu/image1.jpg" width="50">)] B --> C[fooC] click B "https://faa.com" _blank C --> D[(<img src="https://fuu/image2.jpg">)] +++

y el resultado esperado:

 +++ diagramme graph TD A[fooA] ==> B[(<img src='https://fuu/image1.jpg' width='50'>)] B --> C[fooC] click B "https://faa.com" _blank C --> D[(<img src='https://fuu/image2.jpg'>)] +++

Gracias por cualquier ayuda :)

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

0

Utilice una función de devolución de llamada:

 const test = `+++ diagramme graph TD A[fooA] ==> B[fooB] style A color:blue B --> C[(<img src="https://c7.alamy.com/compfr/jcdcx7/image-d-icone-de-soleil-jcdcx7.jpg" width="50">)] C --> D[fooD] B --> D click D "https://fii.com" _blank +++` console.log(test.replace(/<img[^>]*>/g, (x) => x.replace(/"/g, "'") ))

about 4 years ago · Juan Pablo Isaza Report

0

Tu puedes hacer:

  1. Obtener todas las etiquetas de imagen usando RegExp
  2. Reemplazar el " con ' en todos los resultados coincidentes
  3. Reemplace las etiquetas de imagen con las etiquetas de imagen fijas o puede crear 2 subcadenas, antes de la coincidencia y después de la coincidencia + longitud de coincidencia y concatenarlas con la imagen fija (no olvide corregir los índices de la siguiente imagen coinciden si la nueva la etiqueta de la imagen tiene una longitud diferente a la de la primera etiqueta de la imagen)
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!