目次
- 1 1. الحاجة إلى تقسيم السلاسل النصية في Python
- 2 2. تقسيم السلاسل النصية باستخدام دالة split()
- 3 3. تقسيم السلاسل النصية باستخدام splitlines()
- 4 4. تقسيم النصوص باستخدام التعابير النمطية re.split()
- 5 5. دوال مفيدة أخرى: partition() و rpartition()
- 6 6. أمثلة عملية على تقسيم النصوص في Python
- 7 7. الخلاصة: إتقان طرق تقسيم النصوص في Python
- 8 8. نصائح عملية عند استخدام طرق تقسيم النصوص
- 9 9. استخدام تقسيم النصوص في التحليل العملي
- 10 10. الخاتمة
1. الحاجة إلى تقسيم السلاسل النصية في Python
1.1. أهمية معالجة النصوص
تُعتبر معالجة السلاسل النصية في Python من الأمور بالغة الأهمية. سواء في معالجة البيانات النصية اليومية أو في عمليات المعالجة المسبقة لتحليل البيانات، غالبًا ما تكون هناك حاجة إلى تقسيم النصوص. على سبيل المثال، عند تحليل ملفات CSV، أو معالجة إدخال المستخدم، أو التعامل مع البيانات المستخرجة من Web Scraping، فإن تقسيم السلاسل النصية يُعد أداة لا غنى عنها.1.2. ما الذي ستتعلمه من هذا المقال؟
في هذا المقال ستتعلم الطرق الأساسية لتقسيم السلاسل النصية في Python، وصولًا إلى الأساليب المتقدمة باستخدام التعابير النمطية (Regex). سنركز بشكل خاص على استخدام الدوالsplit()
و splitlines()
و re.split()
مع تقديم أمثلة عملية توضح كيفية استخدامها.2. تقسيم السلاسل النصية باستخدام دالة split()
2.1. ما هي دالة split()؟
تُعتبرsplit()
من أبسط وأهم الدوال في Python لمعالجة النصوص. تقوم بتقسيم السلسلة النصية بناءً على محدد (delimiter) معين وتُرجع النتيجة في شكل قائمة (List). بشكل افتراضي، يتم استخدام المسافة أو الجدولة أو محرف السطر كمحددات تقسيم.text = "apple banana cherry"
fruits = text.split()
print(fruits) # المخرجات: ['apple', 'banana', 'cherry']
2.2. تحديد محدد التقسيم
يمكنك أيضًا تحديد محدد معين لتقسيم السلسلة النصية. على سبيل المثال، إذا كان النص مفصولًا بفواصل (,) أو فاصلة منقوطة (;)، يمكنك كتابة الكود بهذا الشكل:text = "apple,banana,cherry"
fruits = text.split(",")
print(fruits) # المخرجات: ['apple', 'banana', 'cherry']
2.3. تقييد عدد مرات التقسيم
يمكنك تمرير وسيط ثانٍ لدالةsplit()
لتحديد الحد الأقصى لعدد مرات التقسيم.text = "apple,banana,cherry,orange"
fruits = text.split(",", 2)
print(fruits) # المخرجات: ['apple', 'banana', 'cherry,orange']
هذا مفيد عندما ترغب في تقسيم النص جزئيًا فقط مع الحفاظ على باقي النص كما هو.
3. تقسيم السلاسل النصية باستخدام splitlines()
3.1. نظرة عامة على splitlines()
تُستخدمsplitlines()
لتقسيم النص بناءً على محرف السطر (newline). هذه الطريقة مفيدة جدًا عند التعامل مع الملفات النصية أو البيانات التي تحتوي على أسطر متعددة.text = """apple
banana
cherry"""
lines = text.splitlines()
print(lines) # المخرجات: ['apple', 'banana', 'cherry']
3.2. الاحتفاظ بمحرف السطر
يمكنك تمريرTrue
كوسيط لدالة splitlines()
للاحتفاظ بمحرف السطر بعد التقسيم.text = """applenbananancherry"""
lines = text.splitlines(True)
print(lines) # المخرجات: ['applen', 'bananan', 'cherry']
هذا الخيار مناسب عندما ترغب في الحفاظ على التنسيق الأصلي للنص.4. تقسيم النصوص باستخدام التعابير النمطية re.split()
4.1. الاستخدام الأساسي لـ re.split()
باستخدام وحدةre
في Python، يمكنك تقسيم النصوص بشكل مرن باستخدام التعابير النمطية. على سبيل المثال، عند الحاجة إلى تقسيم النص باستخدام أكثر من محدد في نفس الوقت.import re
text = "apple123banana456cherry"
fruits = re.split(r'\d+', text)
print(fruits) # المخرجات: ['apple', 'banana', 'cherry']
4.2. استخدام محددات متعددة
يمكنك تحديد عدة محددات باستخدام التعابير النمطية. على سبيل المثال، تقسيم النص باستخدام الفاصلة أو الفاصلة المنقوطة أو المسافة:text = "apple, banana; cherry"
fruits = re.split(r'[;, ]+', text)
print(fruits) # المخرجات: ['apple', 'banana', 'cherry']
4.3. تقسيم وفق أنماط معقدة
تُعتبرre.split()
أداة قوية جدًا لتقسيم النصوص وفق أنماط محددة مثل أرقام معينة أو تراكيب نصية.text = "apple100banana200cherry"
fruits = re.split(r'\d+', text)
print(fruits) # المخرجات: ['apple', 'banana', 'cherry']

5. دوال مفيدة أخرى: partition() و rpartition()
5.1. كيفية استخدام partition()
تقسم دالةpartition()
النص إلى ثلاثة أجزاء باستخدام المحدد. تُرجع النتيجة النص قبل وبعد المحدد مع المحدد نفسه.text = "apple@banana@cherry"
parts = text.partition("@")
print(parts) # المخرجات: ('apple', '@', 'banana@cherry')
5.2. التقسيم من اليمين باستخدام rpartition()
تشبهrpartition()
دالة partition()
ولكنها تبدأ من آخر ظهور للمحدد في النص.text = "apple@banana@cherry"
parts = text.rpartition("@")
print(parts) # المخرجات: ('apple@banana', '@', 'cherry')
6. أمثلة عملية على تقسيم النصوص في Python
6.1. معالجة إدخال المستخدم
في بعض الحالات، تحتاج إلى تقسيم بيانات إدخال المستخدم لتتناسب مع صيغة معينة. المثال التالي يوضح كيفية تقسيم بيانات مفصولة بفواصل:user_input = "name:apple, age:30, city:Tokyo"
info = user_input.split(", ")
for item in info:
key, value = item.split(":")
print(f"{key}: {value}")
6.2. معالجة البيانات من الملفات
عند التعامل مع ملفات نصية، من الشائع قراءة البيانات وتقسيمها سطرًا بسطر.with open('data.txt', 'r') as file:
lines = file.read().splitlines()
print(lines)
7. الخلاصة: إتقان طرق تقسيم النصوص في Python
7.1. الخلاصة
يوفر Python العديد من الطرق لتقسيم النصوص مثلsplit()
و splitlines()
و re.split()
و partition()
. إتقان هذه الدوال يساعدك على تحسين معالجة البيانات والتحليل بكفاءة أعلى.7.2. الخطوة التالية
جرّب الطرق التي تعلمتها في هذا المقال من خلال إنشاء سكربتات صغيرة أو مشاريع عملية لتحدد الطريقة الأمثل لموقفك.8. نصائح عملية عند استخدام طرق تقسيم النصوص
8.1. اختيار الطريقة المناسبة
اختيار الدالة المناسبة يعتمد على طبيعة البيانات التي تتعامل معها. على سبيل المثال: – إذا كانت بياناتك بسيطة ومفصولة بمحدد واحد (مثل CSV)، فاستخدمsplit()
.
– إذا كنت تتعامل مع ملفات نصية متعددة الأسطر، فاستخدم splitlines()
.
– إذا كانت البيانات معقدة وتحتوي على أنماط متعددة للفصل، فاستخدم re.split()
.8.2. الأداء والكفاءة
في المشاريع الكبيرة أو عند التعامل مع كميات ضخمة من البيانات، من المهم التفكير في الأداء. دالةsplit()
عادةً أسرع من re.split()
لأنها لا تحتاج إلى معالجة الأنماط المعقدة. لذلك، استخدم re.split()
فقط عند الحاجة إلى مرونة أكبر.8.3. التعامل مع البيانات غير المتوقعة
قد تحتوي البيانات على مسافات إضافية أو رموز غير متوقعة. من الأفضل تنظيف النصوص مسبقًا باستخدام دوال مثلstrip()
أو replace()
قبل تقسيمها.text = " apple , banana ; cherry "
clean_text = text.strip()
fruits = re.split(r'[;, ]+', clean_text)
print(fruits) # المخرجات: ['apple', 'banana', 'cherry']
9. استخدام تقسيم النصوص في التحليل العملي
9.1. تحليل بيانات CSV
عند العمل مع ملفات CSV، غالبًا ما تحتاج إلى تقسيم السطر إلى أعمدة. على الرغم من وجود مكتبةcsv
المخصصة لذلك، يمكنك استخدام split()
للتجارب السريعة.line = "id, name, age, country"
columns = line.split(",")
print(columns) # المخرجات: ['id', ' name', ' age', ' country']
9.2. معالجة بيانات Log
عند تحليل ملفات السجل (Logs)، قد تحتاج إلى تقسيم السطر إلى أجزاء لمعرفة الوقت والمستوى والرسالة.log = "2025-08-20 INFO User logged in"
parts = log.split(" ", 2)
print(parts) # المخرجات: ['2025-08-20', 'INFO', 'User logged in']
10. الخاتمة
10.1. ملخص عام
تعلمت في هذا المقال أهم الطرق لتقسيم النصوص في Python: –split()
: لتقسيم النصوص باستخدام محدد بسيط.
– splitlines()
: لتقسيم النصوص حسب محرف السطر.
– re.split()
: لتقسيم النصوص باستخدام التعابير النمطية المعقدة.
– partition()
و rpartition()
: لتقسيم النصوص مع الاحتفاظ بالمحدد.