¿Qué expresión regular elimina la puntuación de las comillas en el texto?

4
Fellipe Gomes 2019-08-01 22:51.

Tengo una base de datos y en todo el texto hay algunas citas que están entre comillas. Me gustaría eliminar todos los puntos "." que están entre comillas en el texto.

Tengo un código que puntúa el texto entre comillas, pero si hay más de una cita o más de un punto, solo se elimina el primero.

# Simple phrase:
string <- '"é preciso olhar para o futuro. vou atuar" no front '

# Code that works for a simple 1-point sentence:
str_replace_all(string, '(\".*)\\.(.*\")','\\1\\2')

# Sentence with more than one point and more than one quote:
string <- '"é preciso olhar para o futuro. vou atuar" no front em que posso 
fazer alguma coisa "para .frente", disse jose.'

# it doesn't work as i would like
str_replace_all(string, '(\".*)\\.(.*\")','\\1\\2')

Me gustaría eliminar todos los puntos entre comillas, pero puede ver en el ejemplo que la expresión regular que desarrollé no es para casos más generales.

2 answers

9
Wiktor Stribiżew 2019-08-02 06:17.

Puede usar simplemente str_replace_allcon un simple "[^"]*"patrón y usar una función de devolución de llamada como argumento de reemplazo para eliminar todos los puntos con una gsubllamada:

str_replace_all(string, '"[^"]*"', function(x) gsub(".", "", x, fixed=TRUE))

Entonces,

  • "[^"]*"coincide con todas las subcadenas que stringcomienzan con ", luego tienen 0+ caracteres distintos de "y luego"
  • Una vez que se encuentra la coincidencia, se pasa a la devolución de llamada como xwhere gsub(".", "", x, fixed=TRUE)reemplaza todo .(lo fixed=TRUEconvierte en un punto literal, no en un patrón de expresión regular) con una cadena vacía.
3
M-- 2019-08-02 06:01.
mystring <-'"é preciso olhar para o futuro. vou atuar" no front em que posso 
fazer alguma coisa "para .frente", disse jose.'

Puede utilizar lo siguiente patterncon gsub:

gsub('(?!(([^"]*"){2})*[^"]*$)\\.', "", mystring, perl = T)

Lo mismo con stringr:

str_replace_all(mystring, '(?!(([^"]*"){2})*[^"]*$)\\.', '')

Salida:

#> "é preciso olhar para o futuro vou atuar" no front em que posso 
#> fazer alguma coisa "para frente", disse jose.

MORE COOL STUFF

Cate Blanchett se acostó con su esposo después de 3 días juntos y sigue casada con él 25 años después

Cate Blanchett se acostó con su esposo después de 3 días juntos y sigue casada con él 25 años después

Cate Blanchett desafió los consejos típicos sobre citas cuando conoció a su esposo.

Por qué Michael Sheen es un actor sin fines de lucro

Por qué Michael Sheen es un actor sin fines de lucro

Michael Sheen es un actor sin fines de lucro, pero ¿qué significa eso exactamente?

¡La estrella de Hallmark, Colin Egglesfield, habla sobre emocionantes encuentros con fans en RomaDrama Live! [Exclusivo]

¡La estrella de Hallmark, Colin Egglesfield, habla sobre emocionantes encuentros con fans en RomaDrama Live! [Exclusivo]

¡La estrella de Hallmark, Colin Egglesfield, habló sobre los emocionantes encuentros con los fanáticos en RomaDrama Live! además de su programa INSPIRE en la convención.

Por qué no puedes transmitir 'Northern Exposure' en línea

Por qué no puedes transmitir 'Northern Exposure' en línea

Tendrás que desempolvar un reproductor de Blu-ray o DVD para ver por qué Northern Exposure se convirtió en uno de los programas más populares de los 90.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

¿Caduca el repelente de insectos?

¿Caduca el repelente de insectos?

¿Sigue siendo efectivo ese lote de repelente de insectos que te quedó del verano pasado? Si es así, ¿por cuánto tiempo?

Dona tu cabello para ayudar a mantener limpia nuestra agua

Dona tu cabello para ayudar a mantener limpia nuestra agua

Los recortes de cabello de los salones y las donaciones personales se pueden reutilizar como tapetes que absorben los derrames de petróleo y ayudan a proteger el medio ambiente.

Una mirada a las bodas más memorables de la Casa Blanca

Una mirada a las bodas más memorables de la Casa Blanca

Solo unas pocas personas se han casado en la Casa Blanca en los últimos más de 200 años. ¿Quiénes eran y qué se requiere para marcar una boda allí?

El Mercedes-AMG C63 S 2015 es perfecto excepto por tres cosas

El Mercedes-AMG C63 S 2015 es perfecto excepto por tres cosas

Algunas cosas merecen repetirse. Por ejemplo, tiendo a insistir sobre cómo el valor triunfa sobre el precio y que nunca debes conformarte con lo mundano solo porque técnicamente es la opción más segura.

DeAndre Jordan deja al agente que quizás Sorta lo presionó para firmar con Mavs

DeAndre Jordan deja al agente que quizás Sorta lo presionó para firmar con Mavs

Oye, ¿recuerdas toda esa mierda con DeAndre Jordan en julio? ¿No? Permítanme recordarles brevemente. El 3 de julio, los poderes informaron que Jordan había elegido unirse a los Mavericks en la agencia libre, pero cinco días después llegaron informes de que Jordan estaba divagando y los Clippers intentaban cortejarlo de vuelta.

Las cinco etapas del duelo después de perder un trabajo

Las cinco etapas del duelo después de perder un trabajo

Era un sábado, mi avión aterrizó y estaba listo para relajarme durante una breve escapada de fin de semana, cuando llegó un correo electrónico a mi teléfono. Perdí mi trabajo.

Mantenga su identidad segura con una congelación de crédito o una alerta de fraude

Mantenga su identidad segura con una congelación de crédito o una alerta de fraude

Si alguna vez te han robado tu identidad, sabes que es una experiencia aterradora y estresante. ¿Una forma poco común de prevenirlo? Un congelamiento de crédito.

Taco Bell anuncia el regreso de la pizza mexicana a su menú: 'los frijoles se han derramado'

Taco Bell anuncia el regreso de la pizza mexicana a su menú: 'los frijoles se han derramado'

El artículo favorito de los fans estará disponible a partir del 15 de septiembre, según compartió la franquicia de comida rápida en Twitter.

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton pasa un día junto al agua en Londres, además de Jennifer Lopez, Julianne Hough y más

Kate Middleton pasa un día junto al agua en Londres, además de Jennifer Lopez, Julianne Hough y más

Kate Middleton pasa un día junto al agua en Londres, además de Jennifer Lopez, Julianne Hough y más. Desde Hollywood hasta Nueva York y todos los lugares intermedios, ¡vea lo que están haciendo sus estrellas favoritas!

Joven de 17 años apuñalado hasta la muerte mientras que otros 4 quedaron heridos en un ataque con cuchillo en el río Wisconsin

Joven de 17 años apuñalado hasta la muerte mientras que otros 4 quedaron heridos en un ataque con cuchillo en el río Wisconsin

Los investigadores están investigando si el grupo y el sospechoso se conocían antes del ataque.

aterrizajes en pista

aterrizajes en pista

El final del verano y el otoño son estaciones nostálgicas. Las farolas arrojan su luz sobre las calles resbaladizas por la lluvia, y las hojas bajo los pies, de color rojo anaranjado apagado en las sombras del crepúsculo, son un recordatorio de los días pasados.

Imagina crear una estrategia de contenido que realmente CONVIERTA. Es posible.

Imagina crear una estrategia de contenido que realmente CONVIERTA. Es posible.

En 2021, lo animo a repensar todo lo que sabe sobre los clientes a los que atiende y las historias que les cuenta. Paso atrás.

Una pérdida gigantesca abrió mi corazón al amor

Una pérdida gigantesca abrió mi corazón al amor

El día del noveno cumpleaños de Felix The Cat, recuerdo una de las mayores pérdidas de mi vida adulta: mi Sophie en 2013. Escribí este ensayo y lo compartí brevemente en esta plataforma en 2013.

Cuando no puedes ser la persona que Internet quiere que seas

Cuando no puedes ser la persona que Internet quiere que seas

Odio la palabra "choque de tren". Las personas se consuelan con su propia brújula moral y, al hacerlo, se encuentran emitiendo un juicio.

Language