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

من موسوعة حسوب

تقسم الدالة السلسلة النصية إلى قائمة من الأسطر.

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

x.splitlines()

المعاملات

keepends

قيمة منطقية (بوليانية).

تُدرج فواصل الأسطر في القائمة المعادة عندما يأخذ هذا المعامل القيمة True.

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

تعيد الدالة قائمة من الأسطر التي تكوّن السلسلة النصية، وتجري عملية التقسيم عند حدود الأسطر، ولا تُدرج فواصل الأسطر في القائمة المعادة إلا إذا أخذ المعامل keepends القيمة True.

تقسم الدالة السلاسل النصية عند حدود الأسطر التالية:

الفاصل الوصف
‎\n فاصل أسطر. Line Feed
‎\r فاصل أسطر. Carriage Return
‎\r\n فاصل أسطر. Carriage Return + Line Feed
‎\v أو \x0b جدولة السطر. Line Tabulation
‎\f أو \x0c تغذية نموذج. Form Feed
‎\x1c فاصل ملف. File Separator
‎\x1d فاصل مجموعة. Group Separator
‎\x1e فاصل سجلّ. Record Separator
‎\x85 السطر اللاحق. Next Line (C1 Control Code)‎
‎\u2028 فاصل أسطر. Line Separator
‎\u2029 فاصل فقرة. Paragraph Separator

ملاحظة: أضيف الفاصلان ‎\v و ‎\f إلى قائمة الحدود الفاصلة في الإصدار 3.2 من اللغة.

أمثلة

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

>>> 'ab c\n\nde fg\rkl\r\n'.splitlines()
['ab c', '', 'de fg', 'kl']
>>> 'ab c\n\nde fg\rkl\r\n'.splitlines(keepends=True)
['ab c\n', '\n', 'de fg\r', 'kl\r\n']

تختلف هذه الدالة عن الدالة split()‎ في أنّها عند تعيين قيمة المعامل sep فإنّها تعيد قائمة فارغة، ولا ينشأ سطر إضافي عند استخدام فاصل الأسطر في نهاية السلسلة النصية:

>>> "".splitlines()
[]
>>> "One line\n".splitlines()
['One line']

للمقارنة، تعطي الدالة split()‎ النتائج التالية:

>>> ''.split('\n')
['']
>>> 'Two lines\n'.split('\n')
['Two lines', '']

انظر أيضًا

مصادر