التعامل مع النصوص في Python: بحث، استبدال، دمج

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

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

ابدأ الدورة

التعامل مع النصوص في Python: دليل شامل

أساسيات النصوص في لغة Python

النصوص في Python تمثل نوع بيانات أساسي للتعامل مع المعلومات النصية. فهم مبادئ العمل مع النصوص ضروري للبرمجة الفعالة.

النصوص ككائنات من نوع str

في Python، النصوص هي كائنات من النوع المدمج str. وهي تمثل تسلسلات من أحرف Unicode. كل نص يدعم العديد من الطرق المدمجة لمعالجة النص. تدعم النصوص الوصول إلى الأحرف الفردية عبر الفهرس. كما تسمح بإجراء عمليات المقارنة والفرز.

text = "Python"
print(type(text))  # <class 'str'>
print(len(text))   # 6

مبدأ عدم قابلية النصوص للتغيير

النصوص في Python هي كائنات غير قابلة للتغيير. هذا يعني أن أي عمليات تحويل تنشئ نصًا جديدًا. يبقى النص الأصلي دون تغيير. يضمن هذا المبدأ أمان البيانات وقابلية توقع الكود.

original = "hello"
modified = original.upper()
print(original)  # 'hello' - لم يتغير
print(modified)  # 'HELLO' - نص جديد

طرق إنشاء النصوص

توفر Python عدة طرق لإنشاء النصوص:

  • علامات الاقتباس المفردة للنصوص البسيطة
  • علامات الاقتباس المزدوجة للنصوص التي تحتوي على فواصل عليا
  • علامات الاقتباس الثلاثية للنصوص متعددة الأسطر
  • النصوص الخام (Raw strings) لتجنب تفسير الأحرف الخاصة
single = 'نص بسيط'
double = "نص يحتوي على 'فاصلة عليا'"
multiline = """السطر الأول
السطر الثاني
السطر الثالث"""
raw = r"مسار\إلى\ملف"

الفهرسة والتعامل مع الشرائح

الوصول إلى أحرف النص

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

text = "Python"
print(text[0])   # 'P' - الحرف الأول
print(text[5])   # 'n' - الحرف الأخير
print(text[-1])  # 'n' - الحرف الأخير عبر الفهرس السالب
print(text[-6])  # 'P' - الحرف الأول عبر الفهرس السالب

إنشاء شرائح النصوص

تسمح الشرائح باستخراج نصوص فرعية من النص الأصلي. صيغة الشريحة: نص[بداية:نهاية:خطوة]. يتم تضمين فهرس البداية واستبعاد فهرس النهاية.

text = "Python Programming"
print(text[1:4])    # 'yth'
print(text[:6])     # 'Python'
print(text[7:])     # 'Programming'
print(text[::2])    # 'Pto rgamn' - كل حرف ثاني
print(text[::-1])   # 'gnimmargorP nohtyP' - عكس النص

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

تسهل الفهرسة السالبة التعامل مع نهاية النص. وهي مفيدة بشكل خاص عند معالجة الملفات والبيانات ذات الطول المتغير.

filename = "document.pdf"
extension = filename[-4:]  # '.pdf'
name_part = filename[:-4]  # 'document'

طرق البحث في النصوص

طرق البحث الأساسية عن النصوص الفرعية

طريقة find() ترجع فهرس أول ظهور للنص الفرعي. إذا لم يتم العثور على النص الفرعي، ترجع -1. طريقة rfind() تبحث من نهاية النص.

text = "banana programming"
print(text.find("ana"))     # 1
print(text.find("python"))  # -1 (لم يتم العثور)
print(text.rfind("ana"))    # 3
print(text.find("a", 2))    # 3 (بحث من الموضع 2)

طرق البحث الصارمة مع الاستثناءات

طريقتا index() و rindex() تعملان بشكل مشابه لـ find(). لكنهما تثيران استثناء ValueError إذا لم يتم العثور على النص الفرعي.

text = "banana"
print(text.index("n"))      # 2
# print(text.index("z"))    # ValueError: substring not found

المدونات

توصيات الكتب