"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية الحفاظ على المسافات والفترات أثناء إزالة الأحرف غير ASCII في ملفات Python النصية؟

كيفية الحفاظ على المسافات والفترات أثناء إزالة الأحرف غير ASCII في ملفات Python النصية؟

تم النشر بتاريخ 2024-11-08
تصفح:150

How to Preserve Spaces and Periods While Removing Non-ASCII Characters in Python Text Files?

التعامل مع الأحرف غير 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 مع الحفاظ على المسافات والنقاط في السلسلة النصية الخاصة بك، بما يلبي متطلبات مشروعك المحددة.

بيان الافراج أعيد طبع هذه المقالة على: 1729340957 في حالة وجود أي مخالفة، يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3