Mengalih keluar Emoji daripada Rentetan dalam Python
Artikel ini membincangkan isu mengalih keluar emoji daripada rentetan dalam Python.
Dalam kod Python yang disediakan, corak ungkapan biasa "/[x{1F601}-x{1F64F}]/u" tidak mengendalikan emoji Unicode dengan betul. Akibatnya, anda menerima ralat "aksara tidak sah" apabila anda mencari rentetan bermula dengan "xf."
Pendekatan alternatif melibatkan penggunaan corak regex Unicode yang lebih komprehensif:
<code class="python">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)</code>
Corak ini sepadan dengan julat emoji yang lebih luas dengan menentukan julat aksara Unicode.
Satu lagi aspek penting ialah menggunakan u'' untuk mencipta rentetan Unicode pada Python 2. Selain itu, data input hendaklah ditukar kepada Unicode menggunakan teks = data.decode('utf-8').
<code class="python">import re text = u'This dog \U0001f602' print(text) # with emoji 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) print(emoji_pattern.sub(r'', text)) # no emoji</code>
Kod ini membaca rentetan input 'teks', yang mengandungi emoji. Ia kemudian menggunakan 'emoji_pattern' untuk mengenal pasti dan mengalih keluar sebarang emoji. Output yang terhasil ialah rentetan tanpa sebarang emoji.
Sila ambil perhatian bahawa corak regex yang disediakan mungkin tidak menangkap semua emoji sedia ada, kerana standard Unicode terus berkembang. Untuk senarai lengkap aksara emoji Unicode, rujuk "Emoji dan Dingbats."
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Emoji dengan Berkesan daripada Rentetan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!