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

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

Susan Sarandon
Lepaskan: 2024-11-01 14:11:02
asal
1005 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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