Python の str.startswith() 関数は、実際に「xf.」で始まる絵文字を検索すると無効な文字エラーを生成します。 」ただし、Python の文字列から絵文字を効果的に削除する別の方法もあります。
Unicode 文字列と re.UNICODE フラグを使用する
Python 2 で絵文字を処理するには、次のようにします。 u'' リテラルを使用して Unicode 文字列を作成する必要があります。さらに、コンパイル中に re.UNICODE フラグを渡して 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>
出力:
This dog ? This dog
コンパイルされた正規表現の使用
もう 1 つの方法は、コンパイル済みの正規表現を使用することです。
<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>
これらのパターンはすべての絵文字に一致するわけではないことに注意してください。より包括的なリストについては、Unicode 絵文字リストを参照してください。
以上がPython の文字列から絵文字を削除するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。