طرق التعامل مع النصوص في بايثون: split, join, replace, strip والمزيد

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة عن البيانات النصية في بايثون

ما هي النصوص في بايثون

النصوص (Strings) في بايثون هي تسلسلات مرتبة من الأحرف. وهي أحد أنواع البيانات الأساسية للتعامل مع المعلومات النصية. تُكتب النصوص بين علامتي اقتباس مفردة ('نص') أو مزدوجة ("نص") أو ثلاثية للنصوص متعددة الأسطر ('''نص متعدد الأسطر''' أو """نص""").

خصائص النصوص في بايثون

الطبيعة الكائنية للنصوص

النصوص في بايثون هي كائنات من الفئة str. وهذا يعني أن كل نص لديه إمكانية الوصول إلى العديد من الطرق المدمجة لمعالجة النص والتلاعب به.

العمليات المدعومة

توفر بايثون مجموعة واسعة من العمليات للتعامل مع النصوص:

  • الفهرسة للوصول إلى الأحرف الفردية
  • التقطيع لاستخراج النصوص الفرعية
  • الدمج لربط النصوص
  • تكرار النصوص
  • البحث والاستبدال في النصوص

ثبات النصوص (Immutability)

النصوص في بايثون هي كائنات غير قابلة للتغيير. عند أي تعديل على النص، يتم إنشاء كائن جديد بينما يبقى النص الأصلي كما هو. هذه الخاصية مهمة لفهمها عند العمل مع كميات كبيرة من البيانات النصية أو في الحلقات التكرارية حيث تكون الأداء مهمًا.

العمليات الأساسية على النصوص

دمج النصوص (Concatenation)

يتم دمج النصوص في بايثون باستخدام عامل التشغيل "+":

a = "مرحبا"
b = "بالعالم"
result = a + " " + b  # "مرحبا بالعالم"

تكرار النصوص

عامل التشغيل "*" يتيح تكرار النص لعدد محدد من المرات:

s = "Python"
print(s * 3)  # PythonPythonPython

الفهرسة والتقطيع

تدعم بايثون الوصول إلى أحرف النص عبر الفهرس واستخراج النصوص الفرعية عبر التقطيع:

text = "Python"
print(text[0])    # P (الحرف الأول)
print(text[-1])   # n (الحرف الأخير)
print(text[1:4])  # yth (الأحرف من 1 إلى 3)

طرق التقسيم والدمج

طريقة split()

الوصف والتركيب الأساسي

طريقة split() هي واحدة من أكثر الطرق استخدامًا للتعامل مع النصوص. تقوم بتقسيم النص إلى قائمة من النصوص الفرعية بناءً على فاصل محدد.

text = "تفاحة,موز,برتقال"
print(text.split(","))  # ['تفاحة', 'موز', 'برتقال']

التقسيم حسب المسافات

عند استدعاء split() بدون وسائط، يتم تقسيم النص تلقائيًا بناءً على أي مسافات بيضاء:

"مرحبا    بالعالم".split()  # ['مرحبا', 'بالعالم']

التقسيم حسب حرف محدد

يمكن تحديد أي حرف كفاصل:

"واحد-اثنان-ثلاثة".split("-")  # ['واحد', 'اثنان', 'ثلاثة']

المعامل maxsplit

المعامل maxsplit يحدد عدد التقسيمات:

"1,2,3,4".split(",", 2)  # ['1', '2', '3,4']

طريقة join()

دمج قائمة النصوص

طريقة join() تقوم بالعملية العكسية لـ split() - فهي تدمج عناصر القائمة في نص واحد:

words = ['Python', 'is', 'awesome']
result = " ".join(words)
print(result)  # Python is awesome

العمل مع فواصل مختلفة

تسمح join() باستخدام أي نص كفاصل:

print("-".join(["2025", "03", "27"]))  # 2025-03-27
print("::".join(["server", "database", "table"]))  # server::database::table

الاستخدام مع دالة map()

لدمج الأرقام، يجب أولاً تحويلها إلى نصوص:

numbers = [1, 2, 3]
result = " ".join(map(str, numbers))  # "1 2 3"

طرق البحث و

المدونات

توصيات الكتب