Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengeluarkan Aksara Bukan ASCII sambil Mengekalkan Tempoh dan Ruang?
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
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
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!