Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengeluarkan Aksara Bukan Alfanumerik dengan Cekap daripada Rentetan dalam Python?

Bagaimana untuk Mengeluarkan Aksara Bukan Alfanumerik dengan Cekap daripada Rentetan dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-11-05 00:49:01546semak imbas

How to Efficiently Remove Non-Alphanumeric Characters from Strings in Python?

Mengalih Keluar Aksara Bukan Abjad Angka secara Berkesan daripada Rentetan dalam Python

Apabila bekerja dengan data dalam Python, selalunya perlu mengalih keluar aksara bukan abjad angka daripada rentetan. Walaupun penyelesaian PHP wujud, mereka mungkin tidak menangkap sepenuhnya pendekatan Pythonic. Artikel ini membentangkan panduan komprehensif untuk mencapai tugas ini dengan cekap.

Mendekati Penyelesaian

Untuk menanggalkan semua aksara bukan abjad angka, seperti tanda baca, petikan dan kurungan, daripada rentetan, pilihan Pythonic mehrere tersedia.

Menggunakan Fungsi Terbina Dalam

Satu pilihan ialah menggunakan fungsi isalnum(), yang menyemak sama ada aksara abjad angka. Dengan melelaran melalui rentetan, anda boleh menapis aksara bukan abjad angka:

>>> ''.join(ch for ch in string if ch.isalnum())

Memanfaatkan Ungkapan Biasa

Ekspresi biasa menyediakan alat yang berkuasa untuk pemadanan aksara. Menggunakan fungsi re.sub(), anda boleh menggantikan aksara bukan abjad angka dengan rentetan kosong:

>>> import re
>>> re.sub('[\W_]', '', string)
>>> re.sub('[\W_]+', '', string)

Analisis Prestasi Perbandingan

Demi rasa ingin tahu, berbeza pendekatan telah ditetapkan masa. Mengalih keluar aksara bukan abjad angka daripada rentetan string.printable mendedahkan bahawa penggunaan ungkapan biasa terkumpul ('[W_] ') dan pattern.sub('', str) menghasilkan masa pelaksanaan terpantas.

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Aksara Bukan Alfanumerik dengan Cekap daripada Rentetan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn