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

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

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

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

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

أمثلة

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

توضيح

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

>>> "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(r"[A-Za-z]+('[A-Za-z]+)?",
...                   lambda mo: mo.group(0)[0].upper() +
...                              mo.group(0)[1:].lower(),
...                   s)
...
>>> titlecase("they're bill's friends.")
"They're Bill's Friends."

انظر أيضًا

مصادر