Heim  >  Fragen und Antworten  >  Hauptteil

python - Wie schreibe ich Regex?

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

Die Ausgabe lautet wie folgt: UnicodeEncodeError: Der Codec „utf-8“ kann das Zeichen „ud83d“ an Position 0 nicht kodieren: Ersatzzeichen nicht zulässig
s ist wahrscheinlich ein Weibo-Emoticon, aber nachdem ich den ganzen Nachmittag daran gearbeitet hatte, konnte ich nicht darüber nachdenken, es zu ersetzen, aber dann konnte ich es nicht finden

天蓬老师天蓬老师2679 Tage vor666

Antworte allen(2)Ich werde antworten

  • 高洛峰

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

    首先,是2个问题
    1.为什么显示不出来
    2.想替换掉但是为什么匹配不到

    回答
    1.特殊编码在终端上是无法显示的,如果是在UI上显示,那么需要把UI的encoding设置好。
    2.试试下面的代码

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

    运行结果:
    hello world

    Antwort
    0
  • 黄舟

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

    我都是抄的

    Antwort
    0
  • StornierenAntwort