La fonction str.startswith() de Python produit en effet une erreur de caractère invalide lors de la recherche d'emojis commençant par "xf. " Cependant, il existe des méthodes alternatives pour supprimer efficacement les emojis des chaînes en Python.
Utilisation des chaînes Unicode et du drapeau re.UNICODE
Sur Python 2, pour gérer les emojis, vous besoin de créer des chaînes Unicode en utilisant des littéraux u''. De plus, transmettez l'indicateur re.UNICODE lors de la compilation pour activer la prise en charge d'Unicode :
<code class="python">import re emoji_pattern = re.compile( u"[\U0001F600-\U0001F64F]" # emoticons u"|\U0001F300-\U0001F5FF]" # symbols & pictographs u"|\U0001F680-\U0001F6FF]" # transport & map symbols u"|\U0001F1E0-\U0001F1FF]" # flags (iOS)", flags=re.UNICODE) text = u'This dog \U0001F602' print(text) # with emoji print(emoji_pattern.sub(r'', text)) # without emoji</code>
Sortie :
This dog ? This dog
Utilisation d'une expression régulière compilée
Une autre approche consiste à utiliser une expression régulière précompilée :
<code class="python">emoji_patterns = [ u"[\U0001F600-\U0001F64F]" # emoticons u"|\U0001F300-\U0001F5FF]" # symbols & pictographs u"|\U0001F680-\U0001F6FF]" # transport & map symbols u"|\U0001F1E0-\U0001F1FF]" # flags (iOS)] emoji_pattern = re.compile(emoji_pat, flags=re.UNICODE)</code>
N'oubliez pas que ces modèles peuvent ne pas correspondre à tous les emojis. Pour une liste plus complète, reportez-vous à la liste des emojis Unicode.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!