Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengeluarkan Aksara Bukan ASCII sambil Mengekalkan Tempoh dan Ruang?

Bagaimana untuk Mengeluarkan Aksara Bukan ASCII sambil Mengekalkan Tempoh dan Ruang?

DDD
Lepaskan: 2024-10-19 20:37:29
asal
989 orang telah melayarinya

How to Remove Non-ASCII Characters while Preserving Periods and Spaces?

Mengalih keluar Aksara Bukan ASCII sambil Mengekalkan Tempoh dan Ruang

Matlamatnya adalah untuk memproses data teks yang disimpan dalam fail .txt dan mengekstrak a rentetan tanpa sebarang aksara bukan ASCII, sambil mengekalkan kedua-dua ruang dan noktah. Untuk mencapai ini, kod yang disediakan mentakrifkan fungsi onlyascii() yang menentukan sama ada aksara perlu disertakan dengan menyemak nilai ASCIInya. Walau bagaimanapun, pada masa ini ia turut mengalih keluar noktah dan ruang.

Untuk mengubah suai onlyascii() untuk mengecualikan tempoh dan ruang, kami boleh memanfaatkan modul string.printable Python. string.printable mengandungi set aksara yang dianggap boleh dicetak, termasuk ruang dan noktah.

Takrifan onlyascii() yang dikemas kini menggunakan string.printable ialah:

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

Dengan memasukkan semakan ini ke dalam onlyascii(), aksara yang tidak boleh dicetak, tidak termasuk ruang dan noktah, akan ditapis keluar.

Berikut ialah kod yang diperbetulkan dengan fungsi onlyascii() yang dikemas kini:

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

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 untuk Mengeluarkan Aksara Bukan ASCII sambil Mengekalkan Tempoh dan Ruang?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan