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

215
Views
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 answers
Answer question

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 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!