Python هي لغة برمجة عالية المستوى وعامة الأغراض تركز على سهولة قراءة الكود. وهي تدعم نماذج برمجة مختلفة، على سبيل المثال، البرمجة الهيكلية، والبرمجة كائنية التوجه، والبرمجة الوظيفية. وغالبًا ما توصف Python بأنها “مرفقة بالبطاريات”، بفضل مكتبتها القياسية الشاملة.
في هذا الدليل، سوف نتعلم طرقًا مختلفة لإزالة المسافات البيضاء من السلسلة النصية في Python.
المتطلبات الأساسية
لتنفيذ الخطوات الموضحة في هذا الدليل، ستحتاج إلى المكونات التالية:
-
- جهاز Linux مهيأ بشكل صحيح، على سبيل المثال، خادم Ubuntu VPS على CloudSigma.
-
- بيئة تطوير Python مهيأة بشكل صحيح. تحقق من تهيئة بيئة تطوير Python على Ubuntu.
-
- محرر نصوص مناسب، على سبيل المثال، Brackets, VS Code, Sublime Text, Vim/NeoVim إلخ.
الخطوة 1 – إنشاء سكربت Python
لأغراض التوضيح، سنقوم بإنشاء سكربت Python remove-space.py ونضع جميع الأكواد الخاصة بنا هناك. بعد ذلك، سنقوم بتشغيل السكربت بمساعدة مفسر Python.
أولاً، قم بإنشاء سكربت Python:
|
1 |
touch remove-space.py |

افتح السكربت في محرر نصوص:
|
1 |
nano remove-space.py |

بعد ذلك، سنقوم بإنشاء متغير سلسلة نصية s وتعيين سلسلة نصية له:
|
1 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' |

إذا قمنا بتضمين دالة print()، فيمكننا رؤية كيفية تفسير السلسلة النصية:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s) |

هنا،
-
- تأخذ الدالة
print()سلسلة نصية كمعامل.
- تأخذ الدالة
-
- يمكن للدالة
print()تفسير أحرف الشرطة المائلة العكسية.
- يمكن للدالة
قم بتشغيل السكربت:
|
1 |
python remove-space.py |

الخطوة 2 – إزالة المسافات البادئة والنهائية
بمساعدة دالة strip()، يمكننا إزالة الأحرف البادئة والنهائية من السلسلة النصية.
يوضح الكود التالي استخدام دالة strip() على المتغير s:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) |


لاحظ أن دالة strip() تزيل جميع المسافات البادئة والنهائية. إذا كنت تريد إزالة المسافات البادئة أو النهائية فقط، فاستخدم lstrip() أو rstrip() على التوالي:
|
1 2 3 4 5 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) print(s.lstrip()) print(s.rstrip()) |


الخطوة 3 – إزالة جميع المسافات البيضاء
بمساعدة دالة replace()، يمكننا استبدال المحتويات في سلسلة نصية. وبالاستفادة من هذه الميزة، يمكننا استبدال جميع المسافات البيضاء بلا شيء، وبالتالي إزالتها.
دعنا نضع دالة replace() قيد التشغيل. تحقق من الكود التالي:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.replace(" ", "")) |


هنا،
-
- المعامل الأول لدالة
replace()يحدد النمط الذي يجب البحث عنه في السلسلة النصية المعطاة.
- المعامل الأول لدالة
-
- المعامل الثاني لدالة
replace()يحدد المحتوى البديل.
- المعامل الثاني لدالة
الخطوة 4 – إزالة المسافات البيضاء باستخدام split() و join()
في هذا القسم، سنستخدم دالتي split() و join().
-
split(): تأخذ سلسلة نصية وتقسمها إلى قائمة. ويتم تحديد نقاط التقسيم بواسطة محدد.
-
join(): تأخذ القائمة وتعيدها إلى سلسلة نصية واحدة. ويتم دمج الأجزاء باستخدام مسافة بيضاء واحدة (” “).
دعنا نضع هذه الدوال قيد التشغيل. ألقِ نظرة على الكود التالي:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(" ".join(s.split())) |


هنا،
-
- لقد قمنا بدمج استخدام
split(),join()، وprint()في سطر واحد.
- لقد قمنا بدمج استخدام
-
- يتم تمرير مخرجات دالة
split()كمعامل لدالةjoin().
- يتم تمرير مخرجات دالة
-
- مخرجات دالة
join()يتم تمرير الدالة كمعامل لـprint()الدالة.
- مخرجات دالة
Step 5 – إزالة المسافات البيضاء باستخدام translate()
في بايثون، translate() تستبدل الدالة أحرفًا محددة بأحرف محددة في قاموس أو جدول مطابقة.
في هذا المثال، سنستخدم قاموس string.whitespace الذي يحتوي على جميع أحرف المسافات البيضاء.
ألقِ نظرة على الكود التالي:
|
1 2 3 4 5 |
import string s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.translate({ord(c): None for c in string.whitespace})) |


Step 6 – إزالة المسافات البيضاء باستخدام التعبيرات النمطية (Regex)
التعبيرات النمطية (أو “regex” باختصار) هي ميزة قوية في العديد من لغات البرمجة. يتكون أي تعبير نمطي من سلسلة من الأحرف التي تشكل نمط بحث. يمكن استخدام التعبير النمطي للتحقق مما إذا كانت السلسلة النصية تحتوي على النمط المحدد.
يدعم بايثون أيضًا التعبيرات النمطية (regex)، مما يحسن بشكل كبير من قدراته على معالجة النصوص. في هذا القسم، سنستخدم التعبيرات النمطية لإزالة أي مسافة بيضاء موجودة في السلسلة النصية التجريبية.
ألقِ نظرة على الكود التالي:
|
1 2 3 4 5 6 7 8 9 10 11 |
import re s = ' the quick BROWN fox \t\n\r\tjumps away ' print('إزالة جميع المسافات:\n', re.sub(r"\s+", "", s), sep='') # \s يطابق جميع المسافات البيضاء print('إزالة المسافات البادئة:\n', re.sub(r"^\s+", "", s), sep='') # ^ يطابق البداية print('إزالة المسافات اللاحقة:\n', re.sub(r"\s+$", "", s), sep='') # $ يطابق النهاية print('إزالة المسافات البادئة واللاحقة:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | لشرط أو (OR) |


هنا،
-
- نقوم باستيراد
re، وهي حزمة مخصصة للعمل مع التعبيرات النمطية.
- نقوم باستيراد
أفكار نهائية
في هذا الدليل، استعرضنا طرقًا مختلفة للتعامل مع المسافات البيضاء في السلسلة النصية باستخدام بايثون. وخلال ذلك، تعلمنا أيضًا الاستخدام البسيط لوظائف مختلفة مثل split(), join(), replace(), translate()، وغيرها.
هل أنت مهتم بمعرفة المزيد عن بايثون؟ تحقق من الأدلة التالية:
التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.