แทนที่อักขระที่ไม่ใช่ ASCII ด้วยช่องว่างเดียว
ฉันต้องการแทนที่อักขระที่ไม่ใช่ ASCII (\ x00- \ x7F) ทั้งหมดด้วยช่องว่าง ฉันประหลาดใจที่นี่ไม่ได้เป็นเรื่องง่ายใน Python ถ้าฉันไม่ได้ทำอะไร ฟังก์ชันต่อไปนี้จะลบอักขระที่ไม่ใช่ ASCII ทั้งหมด: def remove_non_ascii_1(text): return ''.join(i for i in text if ord(i)<128) และอันนี้แทนที่อักขระที่ไม่ใช่ ASCII ด้วยจำนวนช่องว่างตามจำนวนไบต์ในจุดรหัสอักขระ (เช่น–ตัวละครจะถูกแทนที่ด้วย 3 ช่องว่าง): def remove_non_ascii_2(text): return re.sub(r'[^\x00-\x7F]',' ', text) ฉันจะแทนที่อักขระที่ไม่ใช่ ASCII ทั้งหมดด้วยช่องว่างเดียวได้อย่างไร ของ มากมายของที่คล้ายกันดังนั้นคำถาม , ไม่มีใครอยู่ตัวอักษรทดแทนเป็นตรงข้ามที่จะปอก , และนอกจากนี้ยังอยู่อักขระที่ไม่ใช่ ASCII ทั้งหมดที่ไม่ได้ตัวละครที่เฉพาะเจาะจง