


Bagaimana untuk Menghapuskan Aksara Tidak Boleh Cetak daripada Rentetan dalam Python?
Melucutkan Aksara Tidak Boleh Cetak daripada Rentetan dalam Python
Dalam Perl, s/[^[:print:]]// g regex secara berkesan mengalih keluar semua aksara yang tidak boleh dicetak daripada rentetan. Walau bagaimanapun, dalam Python, tiada kelas regex POSIX yang setara, menyebabkan sesetengah orang tertanya-tanya bagaimana untuk mencapai tugas yang sama.
Memahami Unicode
Cabarannya terletak pada pengendalian aksara Unicode , kerana kaedah string.printable mungkin menanggalkannya secara tidak sengaja.
Membina Kelas Aksara Tersuai
Untuk menangani perkara ini, kami boleh membina kelas aksara tersuai menggunakan unicodedata modul. Fungsi unicodedata.category() menyediakan cerapan ke dalam kategori aksara. Contohnya, kita boleh mentakrifkan kelas aksara yang dipanggil control_characters untuk mewakili aksara yang tidak boleh dicetak seperti aksara kawalan dan aksara pengganti dengan menapis kategori tersebut daripada set aksara Unicode.
<code class="python">import unicodedata import re categories = {'Cc', 'Cf', 'Cs'} # Include desired categories here control_chars = ''.join(chr(i) for i in range(sys.maxunicode) if unicodedata.category(chr(i)) in categories) control_char_re = re.compile('[%s]' % re.escape(control_chars))</code>
Pendekatan ini menawarkan kecekapan yang lebih baik berbanding dengan lelaran atas rentetan.
<code class="python">def remove_control_chars(s): return control_char_re.sub('', s)</code>
Penyesuaian Tambahan
Untuk senario yang menapis kategori tambahan (cth., aksara penggunaan persendirian) diperlukan, anda boleh mengembangkan kelas aksara sewajarnya.
<code class="python">categories.add('Co') # Add private-use characters # Rebuild the character class and regex</code>
Dengan menggunakan pendekatan ini, anda boleh menanggalkan aksara tidak boleh cetak secara berkesan daripada rentetan Unicode dalam Python, memenuhi kedua-dua kes penggunaan asas dan tersuai.
Atas ialah kandungan terperinci Bagaimana untuk Menghapuskan Aksara Tidak Boleh Cetak daripada Rentetan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html?

Cara Bekerja Dengan Dokumen PDF Menggunakan Python

Cara Cache Menggunakan Redis dalam Aplikasi Django

Memperkenalkan Toolkit Bahasa Alam (NLTK)

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch?
