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

245
Vistas
¿Cómo agregar una condición al siguiente reemplazo?

Quiero reemplazar todas las comillas dobles rectas con comillas dobles rizadas:

 const text = `"This has an opening and a closing quote." "This only has an opening quotes This doesn't have quotes.` const result = text.replace(/"([^"\n\r]*)"?/g, '“$1”') console.log(result)

El problema con mi .replace actual es que está agregando comillas dobles cuando no hay comillas dobles rectas de cierre:

“Esto tiene una cita de apertura y una de cierre”.

“Esto solo tiene comillas de apertura”

Esto no tiene comillas.

¿Cómo cambiar mi función .replace para que no agregue comillas de cierre dobles cuando no hay comillas de cierre dobles rectas?

Rendimiento esperado:

“Esto tiene una cita de apertura y una de cierre”.

“Esto solo tiene comillas de apertura

Esto no tiene comillas.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Utilice Unicode en lugar de las entidades HTML. Al igual que:

 const text = `"This has an opening and a closing quote." "This only has an opening quotes This doesn't have quotes.` const result = text.replace(/"([^"\n\r]*)"?/g, '\u201d$1\u201c') console.log(result)

Donde \u201d son las comillas rizadas de apertura y \u201c son las comillas rizadas de cierre.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar este código con 2 llamadas al método .replace :

  1. Primero hacemos coincidir un par de comillas rectas y las reemplazamos con comillas dobles rizadas (entidades html).
  2. En el segundo .replace , solo hacemos coincidir el simple " y lo reemplazamos con comillas dobles a la izquierda (entidades html).

Esto supone que los simples " después del reemplazo del par cotizado son los de apertura.

Código:

 const text = `"This has an opening and a closing quote." "This only has an opening quotes This doesn't have quotes.`; const result = text.replace(/"([^"\n\r]*)"/g, '“$1”').replace(/"/g, '“'); console.log(result)

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