Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menghapuskan Aksara Bukan Alfanumerik dengan Cekap dalam Python?

Bagaimana untuk Menghapuskan Aksara Bukan Alfanumerik dengan Cekap dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-11-06 11:30:03343semak imbas

How to Efficiently Strip Non-Alphanumeric Characters in Python?

Melucutkan Aksara Bukan Abjad dalam Python

Dalam Python, mengalih keluar aksara bukan abjad angka daripada rentetan memerlukan pendekatan yang sedikit berbeza berbanding PHP .

Kaedah Python

Untuk penyelesaian yang benar-benar "Pythonic", pertimbangkan kaedah berikut:

  • Sertai Aksara Abjad Angka: Gunakan pemahaman senarai untuk mengulangi aksara dalam rentetan dan sertai hanya abjad angka.
  • Tapis Abjad Angka: Gunakan fungsi penapis() dan str.isalnum() untuk tapis aksara bukan abjad angka.

Pendekatan Alternatif

Untuk pertimbangan prestasi, kaedah lain mungkin lebih pantas:

  • Penggantian Regex dengan [W_] : Susun ungkapan biasa ([W_] ) untuk memadankan dan menggantikan semua aksara bukan abjad angka.
  • **Penggantian Regex dengan pattern.sub(): Untuk berulang penggantian, prakompil ungkapan biasa menggunakan re.compile() dan kemudian gunakan pattern.sub().

Penanda Aras Prestasi

Berikut ialah hasil pemasaan untuk pelbagai kaedah, menggunakan rentetan string.printable:

Method Time (μs/loop)
Join alphanumeric 57.6
Filter alphanumeric 37.9
Regex substitution with [W_] 27.5
Regex substitution with [W_] 15
Regex substitution with pattern.sub() 11.2

Pemasaan menunjukkan bahawa menggunakan ungkapan biasa tersusun dengan pattern.sub() ialah kaedah terpantas.

Atas ialah kandungan terperinci Bagaimana untuk Menghapuskan Aksara Bukan Alfanumerik dengan Cekap 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