Bagaimana untuk Menggantikan Aksara Bukan ASCII dengan Ruang dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-11-01 16:34:02
asal
395 orang telah melayarinya

How to Replace Non-ASCII Characters with Spaces in Python?

Menggantikan Aksara Bukan ASCII dengan Ruang dalam Python

Tugas menggantikan aksara bukan ASCII dengan ruang dalam Python mungkin kelihatan mudah, tetapi fungsi terbina dalam yang sering digunakan untuk manipulasi aksara mungkin tidak segera memberikan penyelesaian yang mudah. Mari kita terokai cabaran dan pendekatan alternatif untuk mencapai matlamat ini dengan berkesan.

Penyelesaian Semasa

Dua pendekatan sedia ada dibentangkan dalam soalan:

  • remove_non_ascii_1() mengalih keluar semua bukan ASCII aksara.
  • remove_non_ascii_2() menggantikan aksara bukan ASCII dengan ruang, menggunakan berbilang ruang untuk aksara dengan titik kod yang lebih besar.

Space Tunggal Penggantian

Soalan yang ditanya khusus untuk menggantikan semua aksara bukan ASCII dengan satu ruang. Untuk mencapai matlamat ini, kita perlu mengubah suai fungsi remove_non_ascii_1():

<code class="python">def remove_non_ascii_1(text):
    return ''.join([i if ord(i) < 128 else ' ' for i in text])</code>
Salin selepas log masuk

Dalam fungsi yang dikemas kini ini, kami menggunakan ungkapan bersyarat untuk menggantikan aksara bukan ASCII dengan satu ruang. Ungkapan ''.join() kemudian menggabungkan aksara yang diubah suai menjadi rentetan tunggal.

Pendekatan Ungkapan Biasa

Ungkapan biasa dalam remove_non_ascii_2() juga boleh dilaraskan untuk ruang tunggal penggantian:

<code class="python">re.sub(r'[^\x00-\x7F]+', ' ', text)</code>
Salin selepas log masuk

Di sini, pengubah suai ' ' ditambah dalam kurungan segi empat sama untuk memastikan aksara bukan ASCII berturut-turut digantikan dengan satu ruang.

Nota: Fungsi ini beroperasi pada rentetan Unicode. Jika berfungsi dengan rentetan bait, aksara Unicode mesti dinyahkodkan dahulu (cth., sebagai unicode(teks, 'utf-8').

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Aksara Bukan ASCII dengan Ruang dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!