تقنية

casefold في بايثون: لماذا لا تكفي lower للحرف ß؟

للنص Maße: lower تعطي maße، وcasefold تعطي masse.
ß وحرفا ss.

casefold تحول ß إلى ss، بينما lower تبقي هذا الحرف الصغير. [1]

الخلاصة السريعة

تصغير الأحرف وحده لا يعطي نتيجة casefold نفسها دائمًا. [1]

  • casefold تحول ß إلى ss، بينما lower تبقي هذا الحرف الصغير. [1]
  • casefold تُستخدم للمطابقة دون تمييز حالة الأحرف؛ الطريقتان تعيدان نسخة. [1]
  • مثال مؤلف شُغّل على CPython 3.12.14: s="Maße"؛ s.lower() تعطي "maße". [1]
  • s.casefold() تعطي "masse"؛ استُبدل ß بحرفي ss. [1]
  • مع t="MASSE"، تطبيق lower على النصين يعطي مساواة False؛ تطبيق casefold عليهما يعطي True. [1]

الحرف ß

casefold تحول ß إلى ss، بينما lower تبقي هذا الحرف الصغير. [1]

نسخة للمقارنة

casefold تُستخدم للمطابقة دون تمييز حالة الأحرف؛ الطريقتان تعيدان نسخة. [1]

تصغير الأحرف

مثال مؤلف شُغّل على CPython 3.12.14: s="Maße"؛ s.lower() تعطي "maße". [1]

s.lower() -> "maße" [1]

مقارنة Maße وMASSE بعد lower تعطي False، وبعد casefold تعطي True.
نطبق الطريقة على النصين.

التحويل والمساواة

s.casefold() تعطي "masse"؛ استُبدل ß بحرفي ss. [1]

s.casefold() -> "masse" [1]

مع t="MASSE"، تطبيق lower على النصين يعطي مساواة False؛ تطبيق casefold عليهما يعطي True. [1]

المراجع

  1. Python — casefold وlower

للتوسع: تطبيع العربية.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.