J'ai donc essayé de me débarrasser des caractères HTML spéciaux et j'ai utilisé html.unescape pour cela. Le problème est que s'il y a 2 caractères spéciaux dans une rangée, les fonctions ne fonctionnent pas vraiment comme j'aurais voulu
J'ai essayé plusieurs appels de fonction comme html.unescape (html.unescape (text)), mais c'est sûrement une idée terrible
str='Anchor says Buckingham Palace pressure killed ABC's story on Epstein'
print(html.unescape(str))
Ainsi, au lieu de remplacer tous les caractères, le résultat est:
Anchor says Buckingham Palace pressure killed ABC's story on Epstein
Existe-t-il un moyen de faire face à ce genre de problème?
1 réponse
Les commentaires sont corrects lorsqu'ils disent qu'il y a généralement quelque chose qui ne va pas avec nos données lorsqu'elles s'échappent à plusieurs niveaux. Cependant, si nous voulons accepter ce problème tel qu'il est et que nous devons encore le résoudre, donc si nous recevons une chaîne potentiellement échappée plusieurs fois et que nous ne savons pas à quelle fréquence il est échappé, nous pourrions simplement échapper au diable. hors de lui, c'est-à-dire jusqu'à ce qu'il ne change plus.
Nous pourrions le faire avec une boucle while
comme suit:
import html
def ultimately_unescape(s: str) -> str:
unescaped = ""
while unescaped != s:
s = html.unescape(s)
unescaped = html.unescape(s)
return s
ce qui nous donne:
>>> ultimately_unescape("Anchor says Buckingham Palace pressure killed ABC's story on Epstein"))
"Anchor says Buckingham Palace pressure killed ABC's story on Epstein"
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.