الفرق بين المراجعتين لصفحة: «Python/str/splitlines»
لا ملخص تعديل |
|||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة <code>str.splitlines()</code> في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:الدالة <code>str.splitlines()</code> في بايثون}}</noinclude> | ||
يُقسِّم هذا التابع [[Python/str|السلسلة النصية]] إلى [[Python/list|قائمة]] من الأسطر. | |||
== البنية العامة == | == البنية العامة == | ||
سطر 10: | سطر 10: | ||
=== <code>keepends</code> === | === <code>keepends</code> === | ||
[[Python/boolean|قيمة منطقية ( | [[Python/boolean|قيمة منطقية (Boolean).]] | ||
تُدرج فواصل الأسطر في القائمة المعادة عندما يأخذ هذا المعامل القيمة <code>True</code>. | تُدرج فواصل الأسطر في القائمة المعادة عندما يأخذ هذا المعامل القيمة <code>True</code>. | ||
== القيمة المعادة == | == القيمة المعادة == | ||
يعيد التابع [[Python/list|قائمة]] من الأسطر التي تكوّن السلسلة النصية، وتجري عملية التقسيم عند حدود الأسطر، ولا تُدرج فواصل الأسطر في القائمة المعادة إلا إذا أخذ المعامل <code>keepends</code> القيمة <code>True</code>. | |||
يقسم التابع السلاسل النصية عند حدود الأسطر التالية: | |||
{| class="wikitable" | {| class="wikitable" | ||
!الفاصل | !الفاصل | ||
سطر 23: | سطر 23: | ||
|- | |- | ||
|<code>\n</code> | |<code>\n</code> | ||
| | |محرف السطر الجديد (Line Feed). | ||
|- | |- | ||
|<code>\r</code> | |<code>\r</code> | ||
| | |محرف العودة إلى بداية السطر (Carriage Return). | ||
|- | |- | ||
|<code>\r\n</code> | |<code>\r\n</code> | ||
|فاصل | |فاصل الأسطر، ويتألف من محرف السطر الجديد ومحرف العودة إلى بادية السطر (Carriage Return + Line Feed). | ||
|- | |- | ||
|<code>\v</code> أو <code>\ | |<code>\v</code> أو <code>x0b\</code> | ||
|جدولة | |مسافة جدولة أفقية (Vertical Tab). | ||
|- | |- | ||
|<code>\f</code> أو <code>\ | |<code>\f</code> أو <code>x0c\</code> | ||
| | |محرف الانتقال إلى صفحة جديد (Form Feed). | ||
|- | |- | ||
|<code>\x1c</code> | |<code>\x1c</code> | ||
|فاصل ملف | |فاصل ملف (File Separator). | ||
|- | |- | ||
|<code>\x1d</code> | |<code>\x1d</code> | ||
|فاصل مجموعة | |فاصل مجموعة (Group Separator). | ||
|- | |- | ||
|<code>\x1e</code> | |<code>\x1e</code> | ||
|فاصل سجلّ | |فاصل سجلّ (Record Separator). | ||
|- | |- | ||
|<code>\x85</code> | |<code>\x85</code> | ||
|السطر اللاحق | |السطر اللاحق (Next Line (C1 Control Code)). | ||
|- | |- | ||
|<code>\u2028</code> | |<code>\u2028</code> | ||
|فاصل أسطر | |فاصل أسطر (Line Separator)ز | ||
|- | |- | ||
|<code>\u2029</code> | |<code>\u2029</code> | ||
|فاصل فقرة | |فاصل فقرة (Paragraph Separator). | ||
|- | |- | ||
|} | |} | ||
سطر 59: | سطر 59: | ||
== أمثلة == | == أمثلة == | ||
يوضّح المثال التالي طريقة تطبيق | يوضّح المثال التالي طريقة تطبيق هذا التابع على [[Python/str|السلاسل النصية]]:<syntaxhighlight lang="python3"> | ||
>>> 'ab c\n\nde fg\rkl\r\n'.splitlines() | >>> 'ab c\n\nde fg\rkl\r\n'.splitlines() | ||
['ab c', '', 'de fg', 'kl'] | ['ab c', '', 'de fg', 'kl'] | ||
>>> 'ab c\n\nde fg\rkl\r\n'.splitlines(keepends=True) | >>> 'ab c\n\nde fg\rkl\r\n'.splitlines(keepends=True) | ||
['ab c\n', '\n', 'de fg\r', 'kl\r\n'] | ['ab c\n', '\n', 'de fg\r', 'kl\r\n'] | ||
</syntaxhighlight> | </syntaxhighlight>يختلف هذا التابع عن التابع <code>[[Python/str/split|split()]]</code> في أنّه عند تعيين قيمة المعامل <code>sep</code> فإنّه تعيد [[Python/list|قائمة]] فارغة، ولا ينشأ سطر إضافي عند استخدام فاصل الأسطر في نهاية [[Python/str|السلسلة النصية]]:<syntaxhighlight lang="python3"> | ||
>>> "".splitlines() | >>> "".splitlines() | ||
[] | [] | ||
>>> "One line\n".splitlines() | >>> "One line\n".splitlines() | ||
['One line'] | ['One line'] | ||
</syntaxhighlight>للمقارنة، | </syntaxhighlight>للمقارنة، يعطي التابع <code>[[Python/str/split|split()]]</code> النتائج التالية:<syntaxhighlight lang="python3"> | ||
>>> ''.split('\n') | >>> ''.split('\n') | ||
[''] | [''] | ||
سطر 75: | سطر 75: | ||
['Two lines', ''] | ['Two lines', ''] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | |||
== انظر أيضًا == | *[[Python/str|السلاسل النصية في بايثون.]] | ||
* [[Python/str/ | *التابع <code>[[Python/str/capitalize|str.capitalize()]]</code>: إعادة نسخة من السلسلة النصية مع تحويل الحرف الأول إلى حرف كبير، والأحرف الباقية إلى أحرف صغيرة. | ||
* [[Python/str|السلاسل النصية في | *التابع <code>[[Python/str/casefold|str.casefold()]]</code>: إعادة السلسلة النصية بحالة casefolded، ويمكن استخدام هذا النوع من السلاسل لإجراء المقارنة دون الاعتماد على حالة الأحرف. | ||
* [[Python/list| | *التابع <code>[[Python/str/center|str.center()]]</code>: إعادة أحرف السلسلة النصية مزاحة نحو الوسط ضمن سلسلة نصّية ذات طول محدّد. | ||
*التابع <code>[[Python/str/count|str.count()]]</code>: إعادة عدد مرات ظهور سلسلة نصية فرعية ضمن السلسلة الأصلية. | |||
*التابع <code>[[Python/str/encode|str.encode()]]</code>: إعادة نسخة مرمّزة من السلسلة النصية على هيئة <nowiki/>[[Python/bytes|بايتات]]. | |||
*التابع <code>[[Python/str/endswith|str.endswith()]]</code>: التحقق من وجود سلسلة نصية فرعية في نهاية السلسلة النصية الأصلية. | |||
*التابع <code>[[Python/str/expandtabs|str.expandtabs()]]</code>: إعادة نسخة من السلسلة النصية بعد تحويل جميع علامات الجدولة إلى مسافة بيضاء واحدة أو أكثر. | |||
*التابع <code>[[Python/str/find|str.find()]]</code>: إعادة أدنى قيمة للفهرس في السلسلة النصية والذي تكون السلسلة الفرعية موجودة فيه ضمن الجزء المقتطع من السلسلة. | |||
*التابع <code>[[Python/str/format|str.format()]]</code>: إجراء عمليات التنسيق على السلسلة النصية بواسطة <nowiki/>[[Python/arguments|معاملات موضعية]] أو <nowiki/>[[Python/arguments#.D9.85.D8.B9.D8.A7.D9.85.D9.84.D8.A7.D8.AA .D8.A7.D9.84.D9.83.D9.84.D9.85.D8.A7.D8.AA .D8.A7.D9.84.D9.85.D9.81.D8.AA.D8.A7.D8.AD.D9.8A.D8.A9|مفتاحية]]. | |||
*التابع <code>[[Python/str/format_map|str.format_map()]]</code>: إجراء عمليات التنسيق على السلسلة النصية بواسطة <nowiki/>[[Python/dict|قاموس]]. | |||
*التابع <code>[[Python/str/index|str.index()]]</code>: إجراء نفس وظيفة الدالة <code>[[Python/str/find|str.find()]]</code>. | |||
*التابع <code>[[Python/str/isalnum|str.isalnum()]]</code>: التحقق ممّا إذا كانت السلسلة النصية تضمّ حروفًا وأرقامًا وأنّها تضمّ حرفًا واحدًا على الأقل. | |||
*التابع <code>[[Python/str/isalpha|str.isalpha()]]</code>: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من الحروف فقط، وأنّ فيها حرفًا واحدًا على الأقل. | |||
*التابع <code>[[Python/str/isdecimal|str.isdecimal()]]</code>: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف الأعداد العشرية فقط، وأنّ فيها حرفًا واحدًا على الأقل. | |||
*التابع <code>[[Python/str/isdigit|str.isdigit()]]</code>: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف الأعداد (digits) فقط، وأنّ فيها حرفًا واحدًا على الأقل. | |||
*التابع <code>[[Python/str/isidentifier|str.isidentifier()]]</code>: التحقق ممّا إذا كانت السلسلة النصية تتضمّن معرّفًا صحيحًا (identifier) في لغة بايثون. | |||
*التابع <code>[[Python/str/islower|str.islower()]]</code>: التحقق ممّا إذا كانت حروف السلسلة النصية حروفًا صغيرة (lowercase). | |||
*التابع <code>[[Python/str/isnumeric|str.isnumeric()]]</code>: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية حروفًا عددية، وأنّ هناك حرفًا واحدًا على الأقل في تلك السلسلة. | |||
*التابع <code>[[Python/str/isprintable|str.isprintable()]]</code>: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية قابلة للطباعة أو أن السلسلة النصية فارغة. | |||
*التابع <code>[[Python/str/isspace|str.isspace()]]</code>: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف مسافات بيضاء فقط وأنّ في السلسلة حرفًا واحدًا على الأقل. | |||
*التابع <code>[[Python/str/istitle|str.istitle()]]</code>: التحقق ممّا إذا كانت أوائل الكلمات في السلسلة النصية حروفًا كبيرة (titlecased). | |||
*التابع <code>[[Python/str/isupper|str.isupper()]]</code>: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية حروفًا كبيرة. | |||
*التابع <code>[[Python/str/join|str.join()]]</code>: إعادة السلسلة النصية الناتجة عن ربط السلاسل النصية التابعة لكائن قابل للتكرار (iterable). | |||
*التابع <code>[[Python/str/ljust|str.ljust()]]</code>: إعادة أحرف السلسلة النصية مزاحة نحو اليسار ضمن سلسلة نصّية ذات طول محدّد. | |||
*التابع <code>[[Python/str/lower|str.lower()]]</code>: تحويل جميع الحروف في السلسلة النصية إلى حروف صغيرة. | |||
*التابع <code>[[Python/str/lstrip|str.lstrip()]]</code>: حذف الحروف التي يحدّدها المستخدم من بداية السلسلة النصية. | |||
*التابع <code>[[Python/str/maketrans|str.maketrans()]]</code>: إعادة جدول تحويل يمكن استخدامه بواسطة الدالة <code>[[Python/str/translate|str.translate()]]</code>. | |||
*التابع <code>[[Python/str/partition|str.partition()]]</code>: تقسيم السلسلة النصية عند أول ظهور للقيمة التي يحدّدها المستخدم. | |||
*التابع <code>[[Python/str/replace|str.replace()]]</code>: تبديل هذه الدالة العبارة التي يختارها المستخدم - مهما تكرّرت في السلسلة النصية - إلى القيمة الجديدة التي يحدّدها. | |||
*التابع <code>[[Python/str/rfind|str.rfind()]]</code>: إعادة أعلى قيمة للفهرس في السلسلة النصية حيث تجد فيه السلسلة النصية الفرعية. | |||
*التابع <code>[[Python/str/rindex|str.rindex()]]</code>: إعادة أعلى قيمة للفهرس في السلسلة النصية حيث تجد فيه السلسلة النصية الفرعية. | |||
*التابع <code>[[Python/str/rjust|str.rjust()]]</code>: إعادى أحرف السلسلة النصية مزاحة نحو اليمين ضمن سلسلة نصّية ذات طول محدّد. | |||
*التابع <code>[[Python/str/rpartition|str.rpartition()]]</code>: تقسيم السلسلة النصية عند آخر ظهور للقيمة التي يحدّدها المستخدم. | |||
*التابع <code>[[Python/str/rsplit|str.rsplit()]]</code>: تحويل السلسلة النصية من جهة اليمين إلى <nowiki/>[[Python/list|قائمة]] من السلاسل النصية بالاعتماد على الفاصل الذي يحدّده المستخدم. | |||
*التابع <code>[[Python/str/rstrip|str.rstrip()]]</code>: حذف الحروف التي يحدّدها المستخدم من نهاية السلسلة النصية. | |||
*التابع <code>[[Python/str/split|str.split()]]</code>: تقسيم السلسلة النصية إلى <nowiki/>[[Python/list|قائمة]] من السلاسل النصية بالاعتماد على فاصل محدّد. | |||
*التابع <code>[[Python/str/startswith|str.startswith()]]</code>: التحقق من أنّ السلسلة النصية تبدأ بالقيمة التي يحدّدها المستخدم. | |||
*التابع <code>[[Python/str/strip|str.strip()]]</code>: حذف الحروف المحدّدة من قبل المستخدم من نهاية وبداية السلسلة النصية. | |||
*التابع <code>[[Python/str/swapcase|str.swapcase()]]</code>: قلب حالة الحروف في السلسلة النصية. | |||
*التابع <code>[[Python/str/title|str.title()]]</code>: تحويل أوائل الكلمات في السلسلة النصية إلى أحرف كبيرة (Title Case). | |||
*التابع <code>[[Python/str/translate|str.translate()]]</code>: إعادة الحروف في السلسلة النصية بالاعتماد على جدول التحويل (translation table). | |||
*التابع <code>[[Python/str/upper|str.upper()]]</code>: تحويل الحروف في السلسلة النصية إلى حروف كبيرة. | |||
*التابع <code>[[Python/str/zfill|str.zfill()]]</code>: إضافة أصفار من الترميز ASCII إلى يسار السلسلة النصية لتصبح السلسلة بالطول المحدد من قبل المستخدم. | |||
== مصادر == | == مصادر == | ||
* [https://docs.python.org/3/library/stdtypes.html#str.istitle قسم istitle في صفحة Types في توثيق بايثون الرسمي.] | * [https://docs.python.org/3/library/stdtypes.html#str.istitle قسم istitle في صفحة Types في توثيق بايثون الرسمي.] |
مراجعة 09:35، 2 يونيو 2018
يُقسِّم هذا التابع السلسلة النصية إلى قائمة من الأسطر.
البنية العامة
x.splitlines()
المعاملات
keepends
تُدرج فواصل الأسطر في القائمة المعادة عندما يأخذ هذا المعامل القيمة True
.
القيمة المعادة
يعيد التابع قائمة من الأسطر التي تكوّن السلسلة النصية، وتجري عملية التقسيم عند حدود الأسطر، ولا تُدرج فواصل الأسطر في القائمة المعادة إلا إذا أخذ المعامل keepends
القيمة True
.
يقسم التابع السلاسل النصية عند حدود الأسطر التالية:
الفاصل | الوصف |
---|---|
\n
|
محرف السطر الجديد (Line Feed). |
\r
|
محرف العودة إلى بداية السطر (Carriage Return). |
\r\n
|
فاصل الأسطر، ويتألف من محرف السطر الجديد ومحرف العودة إلى بادية السطر (Carriage Return + Line Feed). |
\v أو x0b\
|
مسافة جدولة أفقية (Vertical Tab). |
\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', '']
انظر أيضًا
- السلاسل النصية في بايثون.
- التابع
str.capitalize()
: إعادة نسخة من السلسلة النصية مع تحويل الحرف الأول إلى حرف كبير، والأحرف الباقية إلى أحرف صغيرة. - التابع
str.casefold()
: إعادة السلسلة النصية بحالة casefolded، ويمكن استخدام هذا النوع من السلاسل لإجراء المقارنة دون الاعتماد على حالة الأحرف. - التابع
str.center()
: إعادة أحرف السلسلة النصية مزاحة نحو الوسط ضمن سلسلة نصّية ذات طول محدّد. - التابع
str.count()
: إعادة عدد مرات ظهور سلسلة نصية فرعية ضمن السلسلة الأصلية. - التابع
str.encode()
: إعادة نسخة مرمّزة من السلسلة النصية على هيئة بايتات. - التابع
str.endswith()
: التحقق من وجود سلسلة نصية فرعية في نهاية السلسلة النصية الأصلية. - التابع
str.expandtabs()
: إعادة نسخة من السلسلة النصية بعد تحويل جميع علامات الجدولة إلى مسافة بيضاء واحدة أو أكثر. - التابع
str.find()
: إعادة أدنى قيمة للفهرس في السلسلة النصية والذي تكون السلسلة الفرعية موجودة فيه ضمن الجزء المقتطع من السلسلة. - التابع
str.format()
: إجراء عمليات التنسيق على السلسلة النصية بواسطة معاملات موضعية أو مفتاحية. - التابع
str.format_map()
: إجراء عمليات التنسيق على السلسلة النصية بواسطة قاموس. - التابع
str.index()
: إجراء نفس وظيفة الدالةstr.find()
. - التابع
str.isalnum()
: التحقق ممّا إذا كانت السلسلة النصية تضمّ حروفًا وأرقامًا وأنّها تضمّ حرفًا واحدًا على الأقل. - التابع
str.isalpha()
: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من الحروف فقط، وأنّ فيها حرفًا واحدًا على الأقل. - التابع
str.isdecimal()
: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف الأعداد العشرية فقط، وأنّ فيها حرفًا واحدًا على الأقل. - التابع
str.isdigit()
: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف الأعداد (digits) فقط، وأنّ فيها حرفًا واحدًا على الأقل. - التابع
str.isidentifier()
: التحقق ممّا إذا كانت السلسلة النصية تتضمّن معرّفًا صحيحًا (identifier) في لغة بايثون. - التابع
str.islower()
: التحقق ممّا إذا كانت حروف السلسلة النصية حروفًا صغيرة (lowercase). - التابع
str.isnumeric()
: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية حروفًا عددية، وأنّ هناك حرفًا واحدًا على الأقل في تلك السلسلة. - التابع
str.isprintable()
: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية قابلة للطباعة أو أن السلسلة النصية فارغة. - التابع
str.isspace()
: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف مسافات بيضاء فقط وأنّ في السلسلة حرفًا واحدًا على الأقل. - التابع
str.istitle()
: التحقق ممّا إذا كانت أوائل الكلمات في السلسلة النصية حروفًا كبيرة (titlecased). - التابع
str.isupper()
: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية حروفًا كبيرة. - التابع
str.join()
: إعادة السلسلة النصية الناتجة عن ربط السلاسل النصية التابعة لكائن قابل للتكرار (iterable). - التابع
str.ljust()
: إعادة أحرف السلسلة النصية مزاحة نحو اليسار ضمن سلسلة نصّية ذات طول محدّد. - التابع
str.lower()
: تحويل جميع الحروف في السلسلة النصية إلى حروف صغيرة. - التابع
str.lstrip()
: حذف الحروف التي يحدّدها المستخدم من بداية السلسلة النصية. - التابع
str.maketrans()
: إعادة جدول تحويل يمكن استخدامه بواسطة الدالةstr.translate()
. - التابع
str.partition()
: تقسيم السلسلة النصية عند أول ظهور للقيمة التي يحدّدها المستخدم. - التابع
str.replace()
: تبديل هذه الدالة العبارة التي يختارها المستخدم - مهما تكرّرت في السلسلة النصية - إلى القيمة الجديدة التي يحدّدها. - التابع
str.rfind()
: إعادة أعلى قيمة للفهرس في السلسلة النصية حيث تجد فيه السلسلة النصية الفرعية. - التابع
str.rindex()
: إعادة أعلى قيمة للفهرس في السلسلة النصية حيث تجد فيه السلسلة النصية الفرعية. - التابع
str.rjust()
: إعادى أحرف السلسلة النصية مزاحة نحو اليمين ضمن سلسلة نصّية ذات طول محدّد. - التابع
str.rpartition()
: تقسيم السلسلة النصية عند آخر ظهور للقيمة التي يحدّدها المستخدم. - التابع
str.rsplit()
: تحويل السلسلة النصية من جهة اليمين إلى قائمة من السلاسل النصية بالاعتماد على الفاصل الذي يحدّده المستخدم. - التابع
str.rstrip()
: حذف الحروف التي يحدّدها المستخدم من نهاية السلسلة النصية. - التابع
str.split()
: تقسيم السلسلة النصية إلى قائمة من السلاسل النصية بالاعتماد على فاصل محدّد. - التابع
str.startswith()
: التحقق من أنّ السلسلة النصية تبدأ بالقيمة التي يحدّدها المستخدم. - التابع
str.strip()
: حذف الحروف المحدّدة من قبل المستخدم من نهاية وبداية السلسلة النصية. - التابع
str.swapcase()
: قلب حالة الحروف في السلسلة النصية. - التابع
str.title()
: تحويل أوائل الكلمات في السلسلة النصية إلى أحرف كبيرة (Title Case). - التابع
str.translate()
: إعادة الحروف في السلسلة النصية بالاعتماد على جدول التحويل (translation table). - التابع
str.upper()
: تحويل الحروف في السلسلة النصية إلى حروف كبيرة. - التابع
str.zfill()
: إضافة أصفار من الترميز ASCII إلى يسار السلسلة النصية لتصبح السلسلة بالطول المحدد من قبل المستخدم.