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

209
Vistas
expresiones regulares para reemplazar las comillas regulares con comillas rizadas

Tengo un bloque de texto donde las comillas de apertura y cierre son las mismas

"¿Hola, qué tal? "Hola"... "Algo más de texto" y algo más "aquí".

Tenga en cuenta que el carácter de comillas es " y no " " estos caracteres

 (["'])(?:(?=(\\?))\2.)*?\1

Quiero reemplazar el carácter de apertura " como "

ahora se verá como "Hola", ¿Cómo estás? "Hola"... "Algo más de texto" y algo más "aquí".

y luego de nuevo corriendo puedo simplemente encontrar y reemplazar la "ocurrencia como" sobrante

y eso daría el resultado esperado que debería verse como

"¿Hola, qué tal? “Hola”... “Más texto” y más “aquí”.

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

0

Preferiría la solución proporcionada por @WiktorStribiżew en un comentario sobre la pregunta, pero deseo brindar una solución alternativa que puede ser de interés para algunos lectores.

El segundo reemplazo de las comillas dobles restantes (posteriores) (es decir, ASCII 32) es sencillo, por lo que no lo discutiré.

Podría hacer coincidir las comillas dobles iniciales con la siguiente expresión regular y luego reemplazar cada coincidencia con “ :

 "(?=(?:(?:[^"]*"){2})*[^"]*"[^"]*$)

Manifestación

Esta expresión regular se basa en la observación de que queremos identificar todas las comillas dobles seguidas más adelante en la cadena por un número impar de comillas dobles (suponiendo que la cadena contiene un número par de comillas dobles).

La expresión regular se puede dividir de la siguiente manera.

 " # match a double-quote (dq) (?= # begin a positive lookahead (?: # begin a non-capture group (?: # begin a non-capture group [^"]*" # match 0+ chars other than dq then match dq ){2} # end non-capture group and execute it twice )* # end non-capture group and execute it 0+ times [^"]*"[^"]* # match dq preceded and followed by 0+ non-dq chars $ # match end of string ) # end positive lookahead

Si el conjunto de datos es grande, puede ser recomendable realizar una evaluación comparativa para ver si la velocidad de ejecución es satisfactoria.

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