شرح اقتطاع النصوص في بايثون: كيفية استخدام Substring وString Slicing باحتراف

دقائق القراءة: 4

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

في لغة Python، تمثل السلسلة النصية string تسلسلاً من المحارف، وقد تتضمن حروفاً وأرقاماً ورموزاً خاصة. على سبيل المثال، يمكن أن تكون لدينا سلسلة مثل "we meet on Friday at 08:00 am". ومن داخل هذه السلسلة نستطيع الوصول إلى أجزاء محددة تُعرف باسم substring، أي مقاطع نصية جزئية مستخرجة من النص الأصلي.

ففي المثال السابق، يمكن اعتبار كلمات مثل "Friday" و"meet" و"at" أجزاءً نصية فرعية. وتُعد هذه المهارة أساسية في معالجة البيانات النصية، وتنظيف المدخلات، وتحليل المحتوى داخل البرامج.

شرح اقتطاع النصوص في بايثون باستخدام الفهرسة وعمليات القص

كيف يعمل اقتطاع النصوص باستخدام الفهرسة في بايثون؟

تتيح لك Python استخراج جزء من السلسلة النصية عبر أسلوب القص المعروف باسم slicing. وتكون الصيغة العامة كالتالي:

string[start:stop:step]
  • start: فهرس البداية الذي يبدأ منه الاقتطاع.
  • stop: فهرس النهاية، وهو غير مشمول في الناتج.
  • step: مقدار القفز بين المحارف أثناء الاقتطاع، والقيمة الافتراضية له هي 1.

يمكن أن تكون الفهارس موجبة أو سالبة:

  • الفهارس الموجبة تبدأ من أول السلسلة باتجاه النهاية.
  • الفهارس السالبة تبدأ من آخر السلسلة باتجاه البداية.

توضيح الفهارس الموجبة والسالبة في السلاسل النصية داخل بايثون

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

إذا أردت الحصول على أول 5 محارف من نص ما، فيمكنك تحديد قيمة stop فقط، بينما تبدأ Python تلقائياً من الفهرس 0.

string = "hello world"
print(string[:5])

الناتج:

hello

كيفية استخراج محارف من منتصف السلسلة النصية

يمكنك تحديد بداية ونهاية واضحة لاستخراج جزء من وسط السلسلة. المثال التالي يقتطع المحارف من الفهرس 3 إلى الفهرس 5 دون تضمين الفهرس الأخير.

string = "hello world"
print(string[3:5])

الناتج:

lo

كيفية الحصول على آخر محرف في السلسلة

للوصول إلى آخر محرف مباشرة، استخدم الفهرس السالب -1، وهو من أكثر الأساليب شيوعاً عند التعامل مع النصوص.

string = "freecodecamp"
print(string[-1])

الناتج:

p

كيفية استخراج آخر عدد من المحارف في بايثون

إذا كنت بحاجة إلى آخر 4 محارف مثلاً، فابدأ من فهرس سالب واترك النهاية مفتوحة.

string = "freecodecamp"
print(string[-4:])

الناتج:

camp

اقتطاع السلاسل باستخدام الخطوات

لا يقتصر slicing على البداية والنهاية فقط، بل يمكنك أيضاً تحديد قيمة step لاختيار كل محرف ثانٍ أو ثالث أو غير ذلك. في المثال التالي، سيتم أخذ كل محرفين بخطوة مقدارها 2.

string = "welcome to freecodecamp"
print(string[::2])

الناتج:

wloet fecdcm

كيفية التحقق من وجود جزء نصي داخل سلسلة

من الطرق البسيطة والفعالة للتحقق من وجود substring داخل نص استخدام العامل in. وهو يعيد القيمة True إذا كان الجزء موجوداً، وFalse إذا لم يكن موجوداً.

substring = "code"
string = "welcome to freecodecamp"
print(substring in string)

الناتج:

True

طريقة أخرى للبحث عن الجزء النصي باستخدام find()

توفّر الدالة find() وسيلة مفيدة للبحث عن موضع أول ظهور لجزء نصي داخل السلسلة. وإذا لم يتم العثور عليه، فستُعيد القيمة -1.

substring = "zz"
string = "hello world"
print(string.find(substring))

الناتج:

-1

هذا يعني أن "zz" غير موجودة داخل النص "hello world".

كيفية الوصول إلى محرف عند فهرس محدد

يمكنك أيضاً الوصول إلى محرف واحد فقط عبر تحديد رقم الفهرس المطلوب مباشرة.

string = "hello world"
print(string[4])

الناتج:

o

تحويل السلسلة إلى قائمة من الأجزاء النصية

إذا أردت تقسيم النص إلى كلمات منفصلة، فإن الدالة split() تعد خياراً ممتازاً. وهي تُرجع قائمة list تحتوي على المقاطع النصية الناتجة عن التقسيم.

string = "welcome to freecodecamp platform"
print(string.split())

الناتج:

['welcome', 'to', 'freecodecamp', 'platform']

كيفية عكس السلسلة النصية باستخدام الخطوات السالبة

لعكس النص في Python، يمكن الاستفادة من slicing مع خطوة سالبة مثل -1. هذه الطريقة أنيقة وسريعة وتُستخدم كثيراً في الأمثلة التعليمية والبرمجية.

string = "welcome to freecodecamp"
print(string[::-1])

الناتج:

pmacedoceerf ot emoclew

كيفية حساب عدد مرات ظهور جزء نصي داخل السلسلة

يمكنك استخدام الدالة count() لمعرفة عدد مرات تكرار مقطع نصي معين داخل سلسلة ما.

string = "we will have a quick coding lesson this afternoon"
print(string.count('noon'))

الناتج:

1

نصائح عملية لفهم Python Substring بشكل أفضل

انتبه إلى أن الفهرس الأخير غير مشمول

عند استخدام الصيغة string[start:stop]، فإن بايثون تتوقف قبل الفهرس stop. وهذه نقطة مهمة جداً لتجنب النتائج غير المتوقعة.

استخدم الفهارس السالبة لتبسيط التعامل مع نهاية النص

بدلاً من حساب طول السلسلة في كل مرة، يمكنك استخدام فهارس مثل -1 و-2 للوصول إلى المحارف الأخيرة بسهولة.

اختر الطريقة المناسبة بحسب الهدف

  • استخدم slicing عند الحاجة إلى استخراج جزء محدد.
  • استخدم in عند الرغبة في التحقق السريع من وجود نص.
  • استخدم find() عندما تحتاج إلى معرفة موضع الظهور.
  • استخدم split() إذا أردت تقسيم النص إلى كلمات أو أجزاء.
  • استخدم count() لمعرفة عدد مرات التكرار.

الخلاصة التقنية

يُعد التعامل مع substring في Python من المهارات الأساسية التي يحتاجها أي مطور يعمل على النصوص. ومن خلال فهم آلية slicing والفهارس الموجبة والسالبة، يمكنك تنفيذ كثير من المهام بكفاءة ووضوح، مثل استخراج أجزاء من النص، والتحقق من وجود كلمات، وتقسيم السلاسل، وحتى عكسها. عملياً، كلما أتقنت هذه الأساليب، أصبحت كتابة الشيفرات النصية أكثر مرونة واحترافية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *