Ce que je veux faire est très simple.Python ne reconnaît pas les citations
- Récupérer un fichier texte à partir
- Si le texte contient des guillemets, obtenir le texte à l'intérieur des guillemets.
Pour ce faire, je me sers de ce regex, emprunté à un autre poste.
re.findall('"([^"]*)"', text)
Le problème que je courais dans cependant, est que les citations particulières qui sont contenues dans mes fichiers textes ne sont pas reconnus comme des citations.
Par exemple:
text = #get text from a file
print(text)
#Outputs: 'this is a "test"'
print(re.findall('"([^"]*)"', text))
#Outputs: []
Mais si je tape directement la chaîne en tant que variable qu'il fonctionne correctement.
text = 'this is a "test"'
#The same regex outputs ['test']
Donc, je crois que mon problème ici est quelque chose à voir avec l'encodage. Cela étant dit, le type (text) retourne str.
Edit: Solution J'ai trouvé grâce à @rmharrison Voici ce qui fonctionne maintenant
import re
from unidecode import unidecode
text = # Text From File
cleaned_text = unidecode(text)
print(re.findall('"([^"]*)"', cleaned_text))
#This successfully outputs text inside quotes.
Peut-être que vous utilisez Citations –
Utilisez-vous Python2 ou Python3? Et, qu'est-ce que 'print (repr (text))' révèle? –
Veuillez fournir un cas de test court et reproductible. Voir [mcve] pour pourquoi et comment. –