Bagaimana Menapis Aksara Bukan ASCII Semasa Memelihara Ruang dan Tempoh dalam Python?

Patricia Arquette
Lepaskan: 2024-10-19 20:33:29
asal
500 orang telah melayarinya

How to Filter Non-ASCII Characters While Preserving Spaces and Periods in Python?

Mengalih keluar Aksara Bukan ASCII Semasa Memelihara Ruang dan Tempoh

Dalam Python, anda mungkin menghadapi situasi di mana anda perlu menapis bukan ASCII aksara daripada rentetan sambil mengekalkan ruang dan noktah utuh. Kod yang disediakan untuk tujuan ini, dikenali sebagai onlyascii(), pada masa ini mengalih keluar semua aksara bukan ASCII, termasuk yang dikehendaki.

Untuk menangani isu ini, pertimbangkan untuk mengubah suai fungsi onlyascii() untuk memasukkan pengendalian khas untuk ruang dan tempoh. Satu pendekatan ialah menggunakan string.printable Python, yang mengandungi set aksara yang dianggap boleh dicetak, termasuk ruang dan noktah.

Dalam fungsi onlyascii(), anda boleh menapis aksara bukan ASCII sambil membenarkan ruang dan tempoh yang perlu dilalui dengan menyemak sama ada aksara itu berada dalam rentetan.set boleh cetak. Begini cara anda boleh melakukannya:

def onlyascii(char):
    if ((ord(char) < 48 or ord(char) > 127)
            and (char not in string.printable)):
        return ''
    else:
        return char
Salin selepas log masuk

Dengan menambahkan aksara bukan dalam keadaan string.printable pada pernyataan if, anda memastikan ruang dan noktah dikekalkan, walaupun ia berada di luar julat ASCII. Menggabungkan pengubahsuaian ini ke dalam fungsi get_my_string(), anda kini boleh menapis aksara bukan ASCII sambil mengekalkan ruang dan noktah:

def get_my_string(file_path):
    f=open(file_path,'r')
    data=f.read()
    f.close()
    filtered_data=filter(onlyascii, data)
    filtered_data = filtered_data.lower()
    return filtered_data
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Menapis Aksara Bukan ASCII Semasa Memelihara Ruang dan Tempoh dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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!