Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menggantikan Aksara Bukan ASCII dengan Ruang Tunggal dalam Python?

Bagaimana untuk Menggantikan Aksara Bukan ASCII dengan Ruang Tunggal dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-11-01 14:11:02878semak imbas

How to Replace Non-ASCII Characters with a Single Space in Python?

Menggantikan Aksara Bukan ASCII dengan Ruang Tunggal

Dalam Python, menggantikan aksara bukan ASCII dengan ruang bukanlah tugas yang remeh. Banyak penyelesaian wujud untuk mengalih keluar aksara bukan ASCII, tetapi penggantian kekal sebagai keperluan luar biasa.

Fungsi yang disediakan, remove_non_ascii_1, mengalih keluar semua aksara bukan ASCII dengan berkesan. remove_non_ascii_2, sebaliknya, menggantikan aksara bukan ASCII dengan ruang, tetapi bilangan ruang sepadan dengan saiz titik kod aksara itu.

Sekarang, mari kita atasi persoalan utama:

Bagaimanakah kita boleh menggantikan semua aksara bukan ASCII dengan satu ruang?

Penyelesaian 1:

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

Pendekatan ini menggunakan ungkapan bersyarat dalam senaraikan pemahaman tentang ''.join(). Aksara dengan nilai ASCII bawah 128 kekal tidak berubah, manakala aksara bukan ASCII digantikan dengan ruang.

Penyelesaian 2:

<code class="python">import re

def replace_with_space(text):
    return re.sub(r'[^\x00-\x7F]+', ' ', text)</code>

Dalam penyelesaian ini, aksara dalam ungkapan biasa memastikan bahawa aksara bukan ASCII berturut-turut digantikan dengan satu ruang. Ini menghapuskan isu dalam remove_non_ascii_2 di mana berbilang ruang telah dimasukkan.

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Aksara Bukan ASCII dengan Ruang Tunggal 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