التعامل مع الأحرف غير ASCII، والحفاظ على المسافات والفترات
عند التعامل مع الملفات النصية، غالبًا ما يكون من الضروري إزالة الأحرف غير ASCII أثناء الحفاظ على كيانات محددة مثل المسافات والفترات. يقوم كود Python المقدم بتصفية الأحرف غير ASCII بنجاح ولكنه يزيل المسافات والنقاط أيضًا عن غير قصد.
لمعالجة هذه المشكلة، نحتاج إلى تعديل وظيفة Onlyascii () لاستبعاد المسافات والنقاط بشكل صريح من عملية التصفية . إليك نسخة محدثة:
def onlyascii(char):
if char == ' ' or char == '.':
return char
elif ord(char) 127:
return ''
else:
return char
في هذه الدالة Onlyascii() المنقحة، نتحقق مما إذا كان الحرف عبارة عن مسافة ('') أو نقطة ('.') ونعيده إذا كان الأمر كذلك. يضمن هذا التعديل الاحتفاظ بهذه الكيانات في السلسلة التي تمت تصفيتها.
لاستخدام وظيفة Onlyascii() المحدثة، يمكننا تعديل وظيفة get_my_string() لتصفية الأحرف باستخدام هذه الوظيفة:
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 ''.join(filtered_data)
يتم استخدام طريقة join() لتسلسل الأحرف من التكرار الذي تم إرجاعه بواسطة وظيفة filter()، مما ينتج عنه سلسلة.
من خلال تنفيذ هذه التعديلات، يمكنك إزالة أحرف غير ASCII مع الحفاظ على المسافات والنقاط في السلسلة النصية الخاصة بك، بما يلبي متطلبات مشروعك المحددة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3