✨ اكتشف قوة النصوص في بايثون: دليلك الشامل لـ String Methods

اليوم سنتعمق في عالم النصوص (Strings) في بايثون، ونتعرف على الأدوات السحرية التي تجعل التعامل مع النصوص أمراً في غاية السهولة. إذا كنت تتساءل كيف يمكنك تحويل نص إلى أحرف كبيرة، أو البحث عن كلمة معينة، أو حتى تقسيم جملة إلى كلمات منفصلة، فأنت في المكان الصحيح! 🎯


ما هي دوال النصوص (String Methods)؟

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

الميزة الرائعة أننا لا نحتاج لاستيراد أي مكتبات إضافية لاستخدامها، فهي متاحة مباشرة.

# مثال: لدينا نص مخزن في متغير
my_string = "Hello, Codex Academy!"

# يمكننا استخدام الدوال مباشرة على المتغير بنقطة (.)
print(my_string.upper())  # سيحول النص إلى أحرف كبيرة

🔤 دوال التحويل بين الأحرف الكبيرة والصغيرة

هذه من أكثر الدوال استخداماً، وتساعدك في توحيد شكل النص.

  • .upper(): تحول كل الأحرف إلى كبيرة.
  • .lower(): تحول كل الأحرف إلى صغيرة.
  • .capitalize(): تحول الحرف الأول فقط من النص إلى كبير والباقي إلى صغير.
  • .title(): تحول الحرف الأول من كل كلمة إلى كبير.
greeting = "welcome to python programming"

print(greeting.upper())        # WELCOME TO PYTHON PROGRAMMING
print(greeting.lower())        # welcome to python programming (لم يتغير هنا)
print(greeting.capitalize())   # Welcome to python programming
print(greeting.title())        # Welcome To Python Programming

🔍 دوال البحث والاستبدال

تساعدك هذه الدوال في العثور على أجزاء معينة داخل النص أو استبدالها.

  • .find(substring): تبحث عن جزء نصي (substring) وتعيد موقعه (الفهرس). إذا لم تجده، تعيد الرقم -1.
  • .replace(old, new): تستبدل كل مرة يظهر فيها النص old بالنص new.
sentence = "I love programming in Java."

# البحث عن كلمة "Java"
position = sentence.find("Java")
print(position)  # 21 (لأن كلمة Java تبدأ عند الموضع 21)

# استبدال "Java" بـ "Python"
new_sentence = sentence.replace("Java", "Python")
print(new_sentence)  # I love programming in Python.

# ملاحظة: الدالة replace لا تغير النص الأصلي، بل تنشئ نسخة جديدة منه.
print(sentence)  # I love programming in Java. (لم يتغير)

✂️ دوال التقسيم والربط (Split & Join)

مفيدة جداً عندما تريد التعامل مع الكلمات في جملة بشكل منفصل.

  • .split(separator): تقسم النص إلى قائمة (List) من الكلمات، باستخدام مسافة (افتراضيًا) أو أي فاصل تحدده.
  • .join(list): تربط عناصر قائمة (List) لتكوين نص واحد، باستخدام النص الأصلي كفاصل.
# مثال على Split
my_course = "Python for Beginners"
words_list = my_course.split() # التقسيم باستخدام المسافة
print(words_list)  # ['Python', 'for', 'Beginners']

# مثال على Join
fruits = ['Apple', 'Banana', 'Orange']
combined_text = ", ".join(fruits) # الربط بفاصلة ومسافة
print(combined_text)  # Apple, Banana, Orange

✅ دوال الفحص (التحقق من المحتوى)

تساعدك في التحقق من طبيعة الأحرف داخل النص.

  • .startswith(prefix): تتحقق إذا كان النص يبدأ بنص معين (تعيد True أو False).
  • .endswith(suffix): تتحقق إذا كان النص ينتهي بنص معين.
  • .isalpha(): تتحقق إذا كان النص يتكون من أحرف فقط (بدون مسافات أو أرقام).
  • .isdigit(): تتحقق إذا كان النص يتكون من أرقام فقط.
filename = "report.pdf"
email = "user@example.com"
name = "Alice"
age = "25"

print(filename.endswith(".pdf"))  # True
print(email.startswith("admin"))  # False
print(name.isalpha())             # True
print(age.isdigit())              # True

🧹 دوال التنظيف وإزالة المسافات

غالباً ما تحتوي البيانات التي ندخلها على مسافات زائدة، وهذه الدوال تنظمها.

  • .strip(): تزيل المسافات من طرفي النص (اليمين واليسار).
  • .lstrip(): تزيل المسافات من الطرف الأيسر فقط.
  • .rstrip(): تزيل المسافات من الطرف الأيمن فقط.
user_input = "   hello world   "
print(f"'{user_input.strip()}'")   # 'hello world'
print(f"'{user_input.lstrip()}'")  # 'hello world   '
print(f"'{user_input.rstrip()}'")  # '   hello world'