recherche

Maison  >  Questions et réponses  >  le corps du texte

python - Comment écrire une expression régulière?

s = u'ud83dudc8b'
co = re.compile( u'ud83dudc8b')
co.sub(u'',s)
print(u'ud83d')

Le résultat est le suivant
UnicodeEncodeError : le codec 'utf-8' ne peut pas encoder le caractère 'ud83d' en position 0 : les substituts ne sont pas autorisés

s est probablement une émoticône Weibo, mais après avoir travaillé dessus tout l'après-midi, je n'ai pas pu l'afficher, j'ai pensé à la remplacer, mais je n'ai pas pu la faire correspondre.

天蓬老师天蓬老师2729 Il y a quelques jours701

répondre à tous(2)je répondrai

  • 高洛峰

    高洛峰2017-05-27 17:41:31

    Tout d'abord, il y a 2 questions
    1. Pourquoi ne peut-il pas être affiché ? 2. Je veux le remplacer mais pourquoi ne peut-il pas correspondre ?
    Réponse

    1. L'encodage spécial ne peut pas être affiché sur le terminal. S'il est affiché sur l'interface utilisateur, l'encodage de l'interface utilisateur doit être défini.

    2. Essayez le code suivant

    import re
    s = u'hello \ud83d\udc8b world'
    co = re.compile( u'\ud83d\udc8b')
    ss = co.sub(u'',s)
    print(ss)

    Résultat de l'exécution :

    bonjour tout le monde

    répondre
    0
  • 黄舟

    黄舟2017-05-27 17:41:31

    Je les ai tous copiés

    répondre
    0
  • Annulerrépondre