موقع د. عزيز الجعيد
  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

علم البيانات والذكاء الاصطناعي

  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

تقسيم السلاسل النصية (split strings) باستخدام بايثون Python

19/09/2020 | لغة البرمجة بايثون | شارك بتعليقك

في كثير من الأحيان نحتاج الى تقسيم السلاسل النصية (split strings) حتى يسهل التعامل معها ويتم تحضيرها وتهيئتها للتحليل، في هذا المقال سوف نستعرض بعض الدوال المناسبة لعمل ذلك في لغة البرمجة بايثون وطريقة عملها:

اولاً: تقسم سلسلة وفق محدد معين
str.split(sep, maxsplit)

حيث أن:

str السلسلة النصية المراد تقسيمها.
sep المحدد الذي سوف يتم التقسيم وفقاً له.
maxsplit الحد الأقصى للتقسيمات.

ويمكن توضيح ذلك من خلال المثال التالي:

In:
info= "محمد عبدالله العلي يسكن في شارع 22"
info.split(' ',1)
Out:
['محمد', 'عبدالله العلي يسكن في شارع 22']

كذلك يمكن عدم تحديد عدد التقسيمات:

In:
info.split(' ')
Out:
['محمد', 'عبدالله', 'العلي', 'يسكن', 'في', 'شارع', '22']

ويمكن استخدام اي من التقسيمات كما يلي:

In:
firstname=info.split(' ')[0]
firstname
Out:
'محمد'

ويمكن اختيار أي محدد، مثلا:

In:
address=info.split('يسكن في')[1]
address
Out:
' شارع 22'

ثانياً: تقسيم السلسلة وفق نمط محدد

re.split(pattern, string, maxsplit, ...)

حيث أن:

pattern النمط الذي سوف يتم التقسيم وفقاً له.
string السلسلة النصية المراد تقسيمها.
maxsplit الحد الأقصى للتقسيمات.

ويمكن توضيح ذلك من خلال المثال التالي:

In:
import re
re.split(r'(\d+)',info)
Out:
['محمد عبدالله العلي يسكن في شارع ', '22', '']

حيث تم استخدام النمط:

r'(\d+)’ 

والذي يمثل عدد صحيح

ثالثاً: ايجاد جميع تكرارات النمط في السلسلة

re.findall(pattern, string, ...)

حيث أن:

pattern النمط الذي سوف يتم التقسيم وفقاً له.
string السلسلة النصية المراد تقسيمها.

ويمكن توضيح ذلك من خلال المثال التالي:

In:
re.findall(r'[\d+]+.?[\d+]+',info) 
Out:
['22']

حيث تم استخدام النمط:

r'[\d+]+.?[\d+]+’

والذي يمثل عدد صحيح أو عشري

 

جميع الحقوق الفكرية لهذا المقال محفوظة © موقع د. عزيز، يمنع إعادة نشره في موقع آخر

مقالات ذات صلة:

  • مقدمة في البايثون Python

    بايثون هي لغة برمجة متعددة الأغراض، تعمل على عدد من المنصات مثل ويندوز (Windows) و ماك (Mac OS X) و لينوكس (Linux).... مقدمة في البايثون Python
    اقرأ المزيد
  • قراءة ملفات البيانات في بايثون Python

    في هذا المقال سوف نستعرض كيف يمكن قراءة ملفات البيانات بأنواعها المختلفة باستخدام لغة البرمجة بايثون. في البداية نحتاج... قراءة ملفات البيانات في بايثون Python
    اقرأ المزيد
  • دوال القائمة (list) في بايثون Python

    تعتبر القائمة (list) احد انواع هياكل البيانات شائعة الاستخدام في في لغة البرمجة بايثون والتي يمكن أن تحوي انواع مختلفة... دوال القائمة (list) في بايثون Python
    اقرأ المزيد

شارك بتعليقك

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


The reCAPTCHA verification period has expired. Please reload the page.

د. عزيز عوض الله الجعيد
دكتوراه في الإحصاء، عالم بيانات، مبرمج، مهتم في التحليل المتقدم، والبيانات الضخمة والذكاء الاصطناعي، لمزيد من المعلومات أضغط هنا

  • YouTube
جميع الحقوق محفوظة © موقع د. عزيز