الدالة bytes.title()‎ في بايثون

من موسوعة حسوب
< Python‏ | bytes
مراجعة 13:41، 15 مايو 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>bytes.title()‎</code> في بايثون}}</noinclude> تحوّل الدالة‎ أوائل الكلمات في التسل...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تحوّل الدالة‎ أوائل الكلمات في التسلسل الثنائي إلى أحرف كبيرة Title Case بترميز ASCII.

البنية العامة

s.title()

القيمة المعادة

تعيد الدالة نسخة من التسلسل الثنائي تكون فيها أوائل الكلمات ذات أحرف كبيرة بترميز ASCII.

الحروف الصغيرة في ترميز ASCII هي قيم البايتات التي تقع ضمن التسلسل: ‎b'abcdefghijklmnopqrstuvwxyz'‎.

أما الحروف الكبيرة في ترميز ASCII هي قيم البايتات التي تقع ضمن التسلسل: ‎b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'‎.


أمثلة

يوضح المثال التالي النتيجة المعادة من تطبيق الدالة على سلسلة نصية:

>>> 'Hello world'.title()
'Hello World'

توضيح

تستخدم الدالة خوارزمية بسيطة لا تعتمد على أي لغة (language-independent)، حيث تعرّف الكلمة على أنّها مجموعة من الحروف المتتابعة. هذا التعريف صالح في معظم السياقات، ولكن في هذا التعريف تشكّل الفاصلة العليا في الكلمات المختصرة وفي صيغة التملك حدودًا للكلمات، وقد يتسبب ذلك في نتائج غير مرغوب بها:

>>> "they're bill's friends from the UK".title()
"They'Re Bill'S Friends From The Uk"

يمكن تجاوز هذه المشكلة باستخدام التعبيرات النمطية Regular Expressions:

>>> import re
>>> def titlecase(s):
...     return re.sub(rb"[A-Za-z]+('[A-Za-z]+)?",
...                   lambda mo: mo.group(0)[0:1].upper() +
...                              mo.group(0)[1:].lower(),
...                   s)
...
>>> titlecase(b"they're bill's friends.")
b"They're Bill's Friends."

انظر أيضًا


مصادر