ملخص السلاسل النصية في بايثون
تعتبر السلاسل النصية من بين أكثر أنواع البيانات شيوعاً في بايثون. يمكننا إنشائها ببساطة عن طريق تضمين الأحرف بين علامتي اقتباس. تعامل Python علامات الاقتباس المفردة مثل علامات الاقتباس المزدوجة وأيضاًً مثل علامات الاقتباس الثلاثية.
تخزين السلاسل النصية في المتغيرات
يمكن تخصيص سلسلة نصية كقيمة لمتغير ، كما في المثال التالي.
مثال:
welcome = "مرحباً بايثون"
print(welcome)
string = "This is a string in Python"
print(string)
سيكون الناتج:
مرحباً بايثون
This is a string in Python
ملحوظة: النصوص في بايثون تعتمد على الترميز Unicode و هذا يعني أن بايثون تتعامل مع اي نصوص بأي لغة سواء إنجليزية او عربية أو فرنسية إلخ..
كيفية إنشاء السلاسل النصية
في بايثون، يمكن إنشاء سلاسل نصية بإحاطة الحرف أو تسلسل الأحرف في علامتي الاقتباس. تتيح لنا بايثون استخدام علامات الاقتباس المفردة أو علامات الاقتباس المزدوجة أو علامات الاقتباس الثلاثية لإنشاء السلسلة.
ما يلي هو أمثلة لسلاسل نصية في بايثون.
#سلسلة بين علامات اقتباس فردية
'هذه سلسلة في بايثون'
# سلسلة بين علامات اقتباس مزدوجة
"هذه سلسلة في بايثون"
# سلسلة بين علامات الاقتباس الثلاثية المزدوجة
"""هذه سلسلة في بايثون"""
# سلسلة بين علامات الاقتباس الثلاثية الفردية
'''هذه سلسلة في بايثون'''
ملحوظة : علامة الاقتباس المفردة ( ' ) وعلامة الاقتباس المزدوجة ( " ) يتم استخدامهم لتعريف نص مكون من سطر واحد فقط. أما علامة الاقتباس الثلاثية الفردية ( ''' ) و علامة الاقتباس الثلاثية المزدوجة ( """ ) يتم استخدامهم لتعريف نص كبير مكون من عدة أسطر.
يتم تضمين السلاسل النصية متعددة الأسطر في علامات اقتباس ثلاثية ، كما في المثال التالي
string = '''This is
the first
Multi-line string.
'''
print(string )
سيكون الناتج:
This is
the first
Multi-line string.
مثال اخر:
string2 = """This is
the second
Multi-line
string."""
print(string2 )
سيكون الناتج ايضاً:
This is
the first
Multi-line string.
لاحظ علامات الاقتباس الثلاثية المزدوجة ( """ ) والفردية ( ''' ) في الامثلة السابقة
إذا كانت هناك سلسلة نصية تتضمن في الاساس علامات اقتباس مزدوجة كجزء من السلسلة النصية، فيجب وضعها في علامات اقتباس مفردة. وبالمثل ، إذا احتوت السلسلة النصية على علامة اقتباس مفردة كجزء من سلسلة نصية ، فيجب كتابتها بين علامتي اقتباس مزدوجة .
مثال للتوضيح:
string1 ='You can "learn Python" with Ahmed Obaid'
print(string1)
string2 ="You can 'learn Python' with Ahmed Obaid"
print(string2)
سيكون الناتج:
You can "learn Python" with Ahmed Obaid
You can 'learn Python' with Ahmed Obaid
فهرسة وتقطيع السلاسل النصية في بايثون
السلسلة في بايثون هو تسلسل مكون من حرف واحد أو أكثر ويمكن أن يتكون من أحرف أو أرقام أو مسافات بيضاء (فارغة) أو رموز. تسمح لنا الفهرسة في بايثون الي الوصول إلى أحرف معينة في سلسلة معينة باستخدام قيمة رقمية. تبدأ فهرسة السلسلة من الصفر حيث يحتوي الحرف الأول في السلسلة على فهرس رقم 0 ، والحرف التالي على فهرس رقم 1 ، وهكذا.
لاحظ الشكل السابق ، تبدأ السلسلة عند الحرف A الذي يقابل فهرس رقم 0 ، وتنتهي السلسلة عند الرمز ! الذي يقابل فهرس رقم 11 .
لاحظ ايضاً أن المسافة البيضاء (الفارغة) لها رقم فهرس 5 . وايضاً الرمز ! له رقم فهرس 11
هناك طريقتين للوصول إلى الأحرف في سلسلة :
- عن طريق رقم الفهرس الموجب الذي يبدأ من رقم 0
- عن طريق رقم الفهرس السالب الذي يبدأ برقم 1-
الوصول إلى الأحرف عن طريق رقم الفهرس الموجب
في هذا النوع من الفهرسة ، نقوم بتمرير الفهرس الموجب (الذي نريد الوصول إليه) بين قوسين مربعين. يبدأ رقم الفهرس من رقم الفهرس 0 (الذي يشير إلى الحرف الأول من السلسلة).
مثال:
# الوصول إلى حرف السلسلة في الفهرس 0
string = "Ahmed Obaid!"
print(string[0])
سيكون الناتج:
A
في المثال السابق عندما أشرنا إلى رقم فهرس معين في السلسلة ، فأن بايثون أرجعت لنا الحرف الموجود في هذا الموضع. نظرًا لأن الحرف A موجود في الفهرس رقم 0 للسلسلة "!Ahmed Obaid" ، فعندما قمنا بطباعة string[0] كان الناتج A .
مثال اخر:
# الوصول إلى حرف السلسلة في الفهرس 7
string = "Ahmed Obaid!"
print(string[7])
سيكون الناتج:
b
في المثال السابق عندما أشرنا إلى رقم فهرس معين في السلسلة ، فأن بايثون أرجعت لنا الحرف الموجود في هذا الموضع. نظرًا لأن الحرف b موجود في الفهرس رقم 7 للسلسلة "!Ahmed Obaid" ، فعندما قمنا بطباعة string[7] كان الناتج b .
الوصول إلى الأحرف عن طريق رقم الفهرس السالب
إذا كان لدينا سلسلة طويلة وأردنا تحديد عنصر في النهاية ، فيمكننا العد التنازلي من نهاية السلسلة ، بدءاً من رقم الفهرس -1 (الذي يشير إلى الحرف الأخير من السلسلة) . ثم نقوم بتمرير الفهرس السالب (الذي نريد الوصول إليه) بين أقواس مربعة.
مثال :
# الوصول إلى حرف السلسلة في الفهرس الأخير
string = "Ahmed Obaid!"
print(string[-1])
سيكون الناتج:
!
في المثال السابق عندما أشرنا إلى رقم فهرس معين في السلسلة ، فأن بايثون أرجعت لنا الحرف الموجود في هذا الموضع. نظرًا لأن الرمز ! موجود في نهاية السلسة في الفهرس السالب رقم 1- للسلسلة "!Ahmed Obaid" ، فعندما قمنا بطباعة string[-1] كان الناتج هو الرمز ! .
مثال اخر:
# الوصول إلى حرف السلسلة في الفهرس 10 من نهاية السلسة
string = "Ahmed Obaid!"
print(string[-10])
سيكون الناتج:
m
في المثال السابق عندما أشرنا إلى رقم فهرس معين في السلسلة ، فأن بايثون أرجعت لنا الحرف الموجود في هذا الموضع. نظرًا لأن الحرف m موجود في الفهرس السالب رقم 10- للسلسلة "!Ahmed Obaid" ، فعندما قمنا بطباعة string[-10] كان الناتج b .
تقطيع السلاسل ( Slicing )
التقطيع في بايثون Slicing هي ميزة تمكننا من الوصول إلى أجزاء من السلسة. نستخدم التقطيع عندما نطلب جزءًا من السلسلة وليس السلسلة الكاملة. لنفترض أننا نود طباعة الكلمة Obaid فقط من السلسة "!Ahmed Obaid" يمكننا فعل ذلك عن طريق نطاق من أرقام الفهرس مفصولة بنقطتين [start : end : step] .
بناء نطاق الفهرسة [start : end : step]
- start تعني بداية الفهرس من هنا ( المكان الذي تبدأ منه )
- end: تعني نهاية الفهرس هنا ( المكان الذي تنتهي فيه )
- step : هي وسيطة اختيارية تحدد الزيادة بين كل فهرس
مثال:
# تعريف متغير يحتوي علي السلسلة
str = "Ahmed Obaid!"
# اطبع فقط كلمة "عبيد" من السلسلة
print(str[6:11])
سيكون الناتج:
Obaid
في المثال السابق قمنا بطباعة الكلمة Obaid فقط من السلسة "!Ahmed Obaid"
إذا أردنا تضمين بداية السلسلة أو نهايتها في الجزء المقتطع من السلسلة يمكننا فعل ذلك بعدم وضع رقم لبداية الفهرس أو رقم لنهاية الفهرس فمثلاً أذا اردنا طباعة كلمة ahmed فقط من السلسلة نقوم بفعل ذلك عن طريق كتابة print(str[:5]) كماهو موضح في المثال التالي
مثال:
# تعريف متغير يحتوي علي السلسلة
str = "Ahmed Obaid!"
# اطبع فقط كلمة "احمد" من السلسلة
print(str[:5])
سيكون الناتج:
Ahmed
أذا اردنا اقتطاع جزء من السلسلة بداية من الفهرس رقم 6 الي نهاية السلسلة نفعل كما في المثال التالي
مثال:
# تعريف متغير يحتوي علي السلسلة
str = "Ahmed Obaid!"
# التقطيع باستخدام تسلسل الفهرسة
print(str[6:])
سيكون الناتج:
Obaid!
يمكنك أيضاً استخدام الفهارس السالبة في تقسيم سلسلة نصية، فكما ذكرنا سابقا، تبدأ أرقام الفهارس السلبية من الرقم 1- ،ويستمر العد تنازلياً إلى أن نصل إلى بداية السلسلة النصية وعند استخدام الفهارس السالبة فسنبدأ من الرقم الأصغر لأنه يقع أولاً في السلسلة.
مثال:
# تعريف متغير يحتوي علي السلسلة
str = "Ahmed Obaid!"
# التقطيع باستخدام تسلسل الفهرسة
print(str[-12:-7])
سيكون الناتج:
Ahmed
ملحوظة: اثناء استخدام الأرقام السالبة ، تأكد من عدم تمرير فهرس أقل من - (طول السلسلة). وإلا ، فسيواجه برنامجك خطأ .
افتراضيا يأتي المعامل الثالث step بقيمة 1 . وهو يحدد الزيادة بين كل فهرس ويشير إلى عدد الأحرف التي يجب تجاوزها في السلسلة النصية. كما هو موضح في المثال التالي
مثال
# تعريف متغير يحتوي علي السلسلة
str = "Ahmed Obaid!"
# التقطيع باستخدام تسلسل الفهرسة
print(str[6:11:1])
سيكون الناتج:
Obaid
كما في المثال السابق إذا كان المعامل step يساوي 1 فسوف يتم تضمين جميع الحروف الموجودة بين الفهرسين. واذا لم يتم ذكر المعامل step من الاساس فان بايثون تقوم تلقائياً باضافة واحد الي نطاق الفهرس أما أذا قمنا بتغيير قيمة المعامل step الي رقم أخر فسيتم تجاهل بعض الاحرف
مثال :
# تعريف متغير يحتوي علي السلسلة
str = "Ahmed Obaid!"
# التقطيع باستخدام تسلسل الفهرسة
print(str[6:11:2])
سيكون الناتج:
Oad
في المثال السابق قمنا بتغيير قيمة المعامل step الي 2 مما أدي إلي إلى تجاوز حرف بين كل حرفين
يمكنك ايضاً تحديد رقم سالب كمعامل step حيث سيتم ترتيب السلسلة بشكل معكوس
مثال :
# تعريف متغير يحتوي علي السلسلة
str = "Ahmed Obaid!"
# التقطيع باستخدام تسلسل الفهرسة
print(str[-2:-11:-8])
سيكون الناتج:
dm
ويمكنك حذف الفهرسين وترك النقطتين الرأسيتين ( : ) سيؤدي ذلك إلى إبقاء كامل السلسلة .
مثال:
# تعريف متغير يحتوي علي السلسلة
str = "Ahmed Obaid!"
# التقطيع باستخدام تسلسل الفهرسة
print(str[:])
سيكون الناتج:
Ahmed Obaid!
دمج السلاسل النصية في بايثون
في بايثون يسمي دمج السلاسل معاً تسلسل السلسلة أو ( Concatenation ) . تقدم بايثون عدداً من الطرق التي يمكن استخدامها لدمج سلاسل منفصلة وإرجاع سلسلة جديدة.
في بايثون، يمكنك دمج سلسلتين مختلفتين معاً او دمج نفس السلسلة مع نفسها عدة مرات باستخدام العامل ( + ) والعامل ( * ) و العامل ( ٪ ) وايضاً الدالة ()join والدالة ()format .
استخدام العامل ( + ) لدمج السلاسل النصية
يمكن ربط أكثر من سلسلتين باستخدام العامل ( + ) كما في المثال التالي:
a1 = "Learn"
a2 = "Python"
a3 = a1 + a2
a4 = a1 + " " + a2
print(a3)
print(a4)
سيكون الناتج:
LearnPython
Learn Python
لاحظ الجملة الاولي ظهرت بدون مسافة فارغة بين الكلمتين لانه تم وضع العامل ( + ) بين المتغيرين مباشرة. أما في الجملة الثانية ظهرت المسافة الفارغة لأننا قمنا بوضع علامتي اقتباس بينهم مسافة فارغة وقمنا بدمجها مع الجملة.
استخدام العامل ( * ) لدمج وتكرار السلاسل النصية
يمكن إلحاق نفس السلسلة بسلسلة اخري باستخدام العامل ( * ) وطريقة صياغتها هكذا str=str * x . حيث x هو عدد مرات تكرار السلسلة :
مثال:
string = "Hello"
print("String 1:", string)
string = string * 3
print("Concatenated same string:", string)
سيكون الناتج:
String 1: Hello
Concatenated same string: HelloHelloHello
استخدام العامل ( ٪ ) لدمج السلاسل النصية
يدمج العامل ( ٪ ) سلسلة في سلسلة أخرى. هذه العملية تسمى استيفاء سلسلة بايثون "string interpolation ". يمكنك إضافة سلسلة إلى أي موضع في سلسلة موجودة باستخدام العامل ( ٪ ) . لاحظ أن العامل ( + ) يضيف قيمة إلى نهاية السلسلة ، ولكن العامل ( ٪ ) يمكنه إضافة قيمة إلى الموضع الذي تحدده في السلسة. يتيح لك ايضاً العامل ( ٪ ) إدراج سلسلة في سلسلة أخرى
يمكننا استخدام العامل ( ٪ ) لدمج سلسلتين في بايثون. كما في المثال التالي.
a1 = "Learn"
a2 = "Python"
a3 = "%s %s" % (a1, a2)
a4 = "%s%s" % (a1, a2)
print(a3)
print(a4)
سيكون الناتج:
Learn Python
LearnPython
لاحظ المسافة الفارغة الموجودة بين s% في المتغير a3 .
لنفترض أن لدينا اسمين نريد أن يظهرا في سلسلة. هذا هو الكود الذي يمكننا استخدامه لإضافة هذه الأسماء إلى سلسلتنا:
names = "%s and %s learn Python." % ("Ahmed", "Hamza")
print(names)
سيكون الناتج:
Ahmed and Hamza learn Python.
نستخدم s٪ لنقول إننا نريد قيمة معينة تظهر في هذا الموضع . ونستخدم العامل ٪ للإشارة الي المكان الذي نريد أن تظهر فيه القيمة في السلسلة الخاصة بنا.
استخدام الدالة ()join لدمج السلاسل النصية
يمكن استخدام الدالة ()join لضم سلسلة من العناصر. و يمكن استخدامها ايضاً لدمج سلسلتين.
مثال:
a = "Love"
b = "Python"
c = "".join([a,b])
h = " ".join([a,b])
print(c)
print(h)
سيكون الناتج:
LovePython
Love Python
لاحظ المسافة الفارغة الموجودة بين علامات الاقتباس في المتغير h .
سنقوم بشرح دالة ()join بشكل مفصل في مقال خاص لاحقا
استخدام الدالة ()format لدمج السلاسل النصية
يمكن استخدام الدالة ()format لتنسيق سلسلة. ويمكن استخدامها ايضاً لدمج سلسلتين.
مثال:
a = "Love"
b = "Python"
c = "{}{}".format(a,b)
h = "{} {}".format(a,b)
print(c)
print(h)
سيكون الناتج:
LovePython
Love Python
يقوم {} بتحديد موضع متغيرات السلسلة.
لاحظ ايضاً المسافة البيضاء الموجودة بين الاقواس '{} {}' في المتغير h . لأنها المسؤولة عن المسافة بين الكلمتين
توفر بايثون الكثير من الدوال المضمنة لمعالجة السلاسل النصية. السلسلة في بايثون غير قابلة للتغيير ، لذا فإن كل هذه الدوال تعيد سلسلة جديدة وتبقى السلسلة الأصلية دون تغيير. ليس عليك حفظ كل هذة الدوال التي سنذكرها في هذا المقال كل ماعليك معرفته هو كيفية استخدام هذة الدوال وماذا يمكنها أن تفعل. كل هذة الدوال موجودة افتراضيا داخل الكلاس str داخل ملف builtins.py المدمج في مترجم بايثون .
دوال معالجة السلاسل النصية في بايثون
اسم الدالة | الوصف | الرابط |
---|---|---|
()capitalize | تقوم دالة ()capitalize بإرجاع نسخة جديدة من السلسلة الأصلية وتحويل الحرف الأول من السلسلة إلى حرف كبير (capital) ، بينما تكون جميع الأحرف الأخرى في السلسلة أحرفًا صغيرة . | اقرأ المزيد |
()upper | تعمل دالة ()upper على تحويل جميع الأحرف الصغيرة في السلسلة إلى أحرف كبيرة وإرجاعها. ولكن لا تتعامل مع الرموز والأرقام. | اقرأ المزيد |
()lower | دالة ()lower هي دالة مضمنة تستخدم بشكل أساسي لمعالجة السلاسل. تقوم بتحويل السلاسل النصية المكتوبة بإحرف صغيرة الي أحرف كبيرة. وإذا لم تكن هناك أحرف كبيرة في السلسلة المحددة ، فإنها تُرجع السلسلة الأصلية. | اقرأ المزيد |
()center | تقوم دالة ()center بإنشاء وإرجاع سلسلة جديدة بداخلها الحرف المحدد. وإذا لم يتم توفير حرف محدد ترجع سلسلة جديدة وتضيف افتراضياً مسافات فارغة. | اقرأ المزيد |
()title | تقوم دالة ()title بتحويل الحرف الأول من كل كلمة إلى حرف كبير والأحرف المتبقية إلى أحرف صغيرة . وإرجاع سلسلة جديدة. | اقرأ المزيد |
()istitle | تقوم دالة ()istitle بإرجاع True إذا كانت السلسلة عبارة عن عنوان "title". وإلا ترجع False. | اقرأ المزيد |
()rjust | تقوم دالة ()rjust بإرجاع نسخة جديدة من السلسلة الاصلية مع إضافة حرف التعبئة الذي يتم تمريره الي الوسيطة 'character"من جهة اليسار. وإذا لم يتم تمرير أي حرف في الوسيطة 'character"سيتم اضافة مسافات بيضاء فارغة. مع تمرير رقم الي الوسيطة length لتحديد العدد الاجمالي لأحرف السلسة. | اقرأ المزيد |
()ljust | تقوم دالة ()ljust بإرجاع نسخة جديدة من السلسلة الاصلية مع إضافة حرف التعبئة الذي يتم تمريره الي الوسيطة 'character"من جهة اليمين. وإذا لم يتم تمرير أي حرف في الوسيطة 'character"سيتم اضافة مسافات بيضاء فارغة. مع تمرير رقم الي الوسيطة length لتحديد العدد الاجمالي لأحرف السلسة. | اقرأ المزيد |
()rstrip | تقوم الدالة ()rstrip بإرجاع نسخة من السلسلة مع إزالة الأحرف الأخيرة من نهاية السلسة (بناءً على وسيطة الأحرف التي تم تمريرها).هذا يعني أن الدالة ()rstrip تزيل جميع الأحرف المحددة من الجانب الأيمن من السلسلة. إذا لم يتم تمرير أي وسيطة ، فإنها تزيل المسافات الفارغة من جهة اليمن. | اقرأ المزيد |
()strip | تقوم دالة ()strip بإرجاع نسخة من السلسلة مع إزالة الأحرف من بداية السلسلة ونهايتها. (من جهة اليمين واليسار) . علي حسب وسيطة الاحرف التي يتم تمريرها . | اقرأ المزيد |
()lstrip | تقوم دالة ()lstrip بإرجاع نسخة من السلسلة مع إزالة الأحرف البادئة (بناءً على وسيطة الأحرف التي تم تمريرها). إذا لم يتم تمرير أي وسيطة، فإنه يزيل المسافات الفارغة البادئة من جهة اليسار. | اقرأ المزيد |
()expandtabs | تقوم دالة ()expandtabs بإرجاع سلسلة جديدة مع استبدال علامات الجدولة "t\" بمسافات فارغة . أي أن دالة ()expandtabs تحدد مقدار المساحة الفارغة التي سيتم استبدالها بعلامات الجدولة "t\" في السلسلة. | اقرأ المزيد |
()swapcase | تقوم دالة ()swapcase بتحويل جميع الأحرف الكبيرة إلى أحرف صغيرة والعكس صحيح. أي انها تقوم بتحويل السلاسل النصية المكتوبة بإحرف صغيرة الي أحرف كبيرة. والسلاسل النصية المكتوبة بإحرف كبيرة الي أحرف صغيرة | اقرأ المزيد |
()join | دالة ()join هي دالة مضمنة في بايثون تُستخدم لضم عناصر التسلسل. وتقوم بإرجاع سلسلة جديدة. ويمكن استخدامها مع العديد من أنواع البيانات List ، Tuple ، String ، إلخ | اقرأ المزيد |
دوال strip | تقوم دالة ()strip بإرجاع نسخة من السلسلة مع إزالة الأحرف أو المسافات البيضاء من بداية السلسلة أو نهايتها. وسيطة ، تأتي وسيطة chars بشكل افتراضي لإزالة المسافة البيضاء. إذا كانت السلسلة لا تحتوي على مسافات بيضاء ولم يتم توفير وسيطة chars ، يتم إرجاع السلسلة كما هي. | اقرأ المزيد |
دوال تبديل السلاسل النصية في يايثون
اسم الدالة | الوصف | الرابط |
---|---|---|
()replace | تقوم دالة ()replace بإرجاع نسخة جديدة من السلسلة حيث يتم استبدال كل تكرارات السلسلة الفرعية بسلسلة فرعية أخرى. يمكن أيضًا تحديد عدد المرات التي يجب فيها استبدال السلاسل الفرعية بسلسلة فرعية أخرى. | اقرأ المزيد |
()maketrans | تقوم دالة ()maketrans بإرجاع جدول تبديل يقوم بتبديل كل حرف في السلسلة الاولي إلى الحرف الموجود في السلسلة الثانية في نفس الموضع. | اقرأ المزيد |
()format | تقوم دالة ()format بتنسيق السلاسل المعقدة بشكل أكثر كفاءة. عن طريق وضع حقل بديل واحد أو أكثر داخل زوج من الأقواس المتعرجة {} في سلسلة واستدعاء القيمة التي نرغب في وضعها وربطها بالسلسلة. | اقرأ المزيد |
دوال تقسيم السلاسل النصية في بايثون
اسم الدالة | الوصف | الرابط |
---|---|---|
()split | تقوم دالة ()split بتقسيم السلسلة حسب الفاصل المحدد (separator). وإرجاع نسخة جديدة من السلسلة علي شكل قائمة بها عناصر السلسلة مقسمة. | اقرأ المزيد |
()splitlines | تقوم دالة ()splitlines بتقسيم السلسلة بناءً على فواصل السطر وتعيد قائمة جديدة بالسلاسل المقسمة. يمكن أن تكون فواصل الأسطر سطرًا جديدًا (n\ ) ، أو حرف إرجاع (r\) وما إلى ذلك. يوجد في الاسفل جدول من فواصل الأسطر التي تقسم السلسلة . | اقرأ المزيد |
دوال مقارنة السلاسل النصية في بايثون
اسم الدالة | الوصف | الرابط |
---|---|---|
()isspace | تقوم دالة ()isspace بالتحقق مما إذا كانت الأحرف في السلسلة مسافات بيضاء. إذا كانت الأحرف في السلسلة مسافات بيضاء ستقوم بإرجاع القيمة المنطقية True. اما إذا كان غير ذلك ستقوم بإرجاع القيمة المنطقية False. تُعامل دالة ()isspace المسافة والسطر الجديد وعلامات التبويب وما إلى ذلك نفس معاملة المسافة البيضاء | اقرأ المزيد |
()isupper | تقوم دالة ()isupper بالتحقق مما إذا كانت الأحرف في السلسلة أحرف كبيرة. إذا كانت الأحرف في السلسلة أحرف كبيرة ستقوم بإرجاع القيمة المنطقية True. اما إذا كان غير ذلك ستقوم بإرجاع القيمة المنطقية False. | اقرأ المزيد |
()islower | تقوم دالة ()islower بالتحقق مما إذا كانت الأحرف في السلسلة أحرف صغيرة. إذا كانت الأحرف في السلسلة أحرف صغيرة ستقوم بإرجاع القيمة المنطقية True. اما إذا كان غير ذلك ستقوم بإرجاع القيمة المنطقية False. | اقرأ المزيد |
()isdigit | تقوم دالة ()isdigit بالتحقق مما إذا كانت جميع الأحرف في السلسلة أحرف رقمية. إذا كانت جميع الأحرف في السلسلة أحرف رقمية ستقوم بإرجاع القيمة المنطقية True. اما إذا كان غير ذلك ستقوم بإرجاع القيمة المنطقية False. | اقرأ المزيد |
()isalnum | تقوم دالة ()isalnum بالتحقق مما إذا كانت جميع الأحرف في السلسلة إما أحرف أبجدية أو رقمية. إذا كانت جميع الأحرف في السلسلة أحرف أبجدية أو رقمية تقوم بإرجاع القيمة المنطقية True. إذا كان غير ذلك تقوم بإرجاع القيمة المنطقية False. | اقرأ المزيد |
()istitle | تقوم دالة ()istitle بإرجاع True إذا كانت السلسلة عبارة عن عنوان "title". وإلا ترجع False. | اقرأ المزيد |
()isnumeric | تقوم دالة ()isnumeric بالتحقق مما إذا كانت جميع الأحرف في السلسلة أحرف رقمية. إذا كانت جميع الأحرف في السلسلة أحرف رقمية تقوم بإرجاع القيمة المنطقية True. إذا كان هناك حرف واحد على الأقل ليس أحرف رقمية تقوم بإرجاع القيمة المنطقية False. | اقرأ المزيد |
()isalpha | تقوم دالة ()isalpha بالتحقق مما إذا كانت جميع الأحرف في السلسلة أبجدية. إذا كانت جميع الأحرف في السلسلة أبجدية تقوم بإرجاع القيمة المنطقية True. إذا كان هناك حرف واحد على الأقل ليس أبجدياً تقوم بإرجاع القيمة المنطقية False. وتعتبر المسافات البيضاء والأرقام والرموز أحرفًا غير أبجدية. | اقرأ المزيد |
()startswith | تقوم دالة ()startswith بالتحقق مما إذا كانت السلسلة تبدأ بنص محدد (prefix). إن كان كذلك ستعيد دالة ()startswith القيمة المنطقية True وإن كان غير ذلك فإنها ستعيد القيمة المنطقية false. | اقرأ المزيد |
()endswith | تقوم دالة ()endswith بالتحقق مما إذا كانت السلسلة تنتهي بنص محدد "suffix". إن كان كذلك ستعيد دالة ()endswith القيمة المنطقية True وإن كان غير ذلك فإنها ستعيد القيمة المنطقية false. | اقرأ المزيد |
دوال البحث في السلاسل النصية في بايثون
اسم الدالة | الوصف | الرابط |
---|---|---|
()count | تقوم دالة ()count بإرجاع عدد مرات تكرار السلسلة الفرعية ( substring ) التي تم تمريرها الي المعلمة ( الباراميتر ). تأخذ دالة ()count ثلاث معلمات ( باراميترات )، الأول عبارة عن سلسلة فرعية ( substring ) ، والثاني هو فهرس البداية والثالث هو المؤشر الأخير للنطاق. البداية والنهاية كلاهما اختياري بينما السلسلة الفرعية ( substring ) مطلوب. | اقرأ المزيد |
()find | تقوم دالة ()find بإرجاع رقم فهرس أول ظهور لسلسلة فرعية ( نص عادي ) في السلسلة المحددة (حساسة لحالة الأحرف). إذا لم يتم العثور على السلسلة الفرعية فإنها ترجع -1. | اقرأ المزيد |
()rfind | تقوم دالة ()rfind بإرجاع رقم فهرس آخر ظهور لسلسلة فرعية ( نص عادي ) في السلسلة المحددة (حساسة لحالة الأحرف). إذا لم يتم العثور على السلسلة الفرعية فإنها ترجع -1. الفرق بينها و بين الدالة ()find أنها تبدأ عملية البحث من آخر فهرس في النص المراد البحث عنه إلى أول فهرس فيه. | اقرأ المزيد |
()index | تقوم دالة ()index بإرجاع رقم فهرس أول ظهور لسلسلة فرعية ( نص عادي ) في السلسلة المحددة (حساسة لحالة الأحرف). إنها نفس دالة ()find باستثناء أنه إذا لم يتم العثور على السلسلة الفرعية ، فإنها تثير استثناءً خطأ ( ValueError ) إذا لم يتم العثور على السلسلة الفرعية أو إذا كان الفهرس خارج نطاق البحث. | اقرأ المزيد |
()rindex | تقوم دالة ()rindex بإرجاع رقم فهرس آخر ظهور لسلسلة فرعية ( نص عادي ) في السلسلة المحددة (حساسة لحالة الأحرف). إنها نفس دالة ()rfind باستثناء أنه إذا لم يتم العثور على السلسلة الفرعية ، فإنها تثير استثناءً خطأ ( ValueError ) إذا لم يتم العثور على السلسلة الفرعية أو إذا كان الفهرس خارج نطاق البحث. | اقرأ المزيد |
الكلمات الدلالية
بايثون أنواع البيانات في بايثون الأعداد في بايثون السلاسل في بايثون دمج السلاسل النصية فهرسة وتقطيع السلاسل الدوال التي تتعامل مع السلاسل دالة ()capitalize دالة ()upper دالة ()lower دالة ()swapcase دالة ()title دوال strip دالة ()join دالة ()center دالة ()expandtabs دالة ()lstrip دالة ()strip دالة ()rstrip دالة ()ljust دالة ()rjust دالة ()istitle دالة ()replace دوال ()maketrans و ()translate دالة ()format دالة ()split دالة ()splitlines دوال تقسييم السلاسل دوال تبديل السلاسل في يايثون دوال معالجة السلاسل في بايثون دالة ()startswith دوال مقارنة سلاسل بايثون دالة ()endswith في بايثون دالة ()isalpha دالة ()isnumeric دالة ()isalnum دالة ()isdigit دالة ()islower دالة ()isupper دالة ()isspace دوال البحث في السلاسل النصية في بايثون دالة ()count دالة ()find دالة ()rfind دالة ()index دالة ()rindex ملخص السلاسل النصية في بايثون
شارك المقال
عن الكاتب
أحمدُ عُبَيْد
مرحباً، أنا أحمد عبيد مبرمج عربي مصري. أود أن أضع تجاربي وخبراتي في تعلم بايثون على هذا الموقع حتى يكون مرجعاً لي ولكم أيضاً.
عفواً..قم بتسجيل الدخول اولاً..حتي تستطيع التعليق