2019-08-14
Cómo eliminar palabras duplicadas en un texto con re.sub?
stackoverflow
Question

Por ejemplo tengo: "muy muy muy real real que esto no funcionaaaaaa" y quisiera tener "muy real que esto no funciona"

he resuelto de esta forma la repetición de letras:

text=re.sub(r'(\w)\1+', r'\1', 'muy muy muy real real que esto no funcionaaaaaa'

'muy muy muy real real que esto no funciona'

Pero no puedo resolver el problema de la repetición de palabras.

Necesito que sea utilizando re.sub

Gracias.

Answer
1

Answered in data science Stackexchange post

import re
sentence = 'I need need to learn regex... regex from scratch!'

# remove punctuation
# the unicode flag makes it work for more letter types (non-ascii)
no_punc = re.sub(r'[^\w\s]', '', sentence, re.UNICODE)
print('No punctuation:', no_punc)

# remove duplicates
re_output = re.sub(r'\b(\w+)( \1\b)+', r'\1', no_punc)
print('No duplicates:', re_output)
Cómo eliminar palabras duplicadas en un texto con re.sub?
See more ...