ホームページ  >  記事  >  バックエンド開発  >  Python の文字列から絵文字を削除するには?

Python の文字列から絵文字を削除するには?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-26 11:35:29166ブラウズ

How to Remove Emojis from Strings in Python?

Python で絵文字を扱う: 文字列から絵文字を削除する

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 &amp; pictographs
   u"|\U0001F680-\U0001F6FF]"  # transport &amp; 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 &amp; pictographs
   u"|\U0001F680-\U0001F6FF]"  # transport &amp; map symbols
   u"|\U0001F1E0-\U0001F1FF]"  # flags (iOS)]
emoji_pattern = re.compile(emoji_pat, flags=re.UNICODE)</code>

これらのパターンはすべての絵文字に一致するわけではないことに注意してください。より包括的なリストについては、Unicode 絵文字リストを参照してください。

以上がPython の文字列から絵文字を削除するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。