- 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()
: لتقسيم النصوص مع الاحتفاظ بالمحدد.
10.2. الخطوة التالية
الآن أصبح لديك فهم شامل لطرق تقسيم النصوص في Python. جرب هذه الطرق في مشاريعك العملية مثل:
– تنظيف بيانات الإدخال من المستخدم.
– تحليل بيانات CSV أو Logs.
– التحضير لعمليات تحليل البيانات أو التعلم الآلي.
من خلال الممارسة المستمرة، ستتمكن من اختيار الطريقة الأنسب وتحقيق أقصى استفادة من أدوات تقسيم النصوص في Python.