اذهب إلى المحتوى
  • 0

كيف أُقسّم السلسلة النصية إلى قائمة في بايثون؟

MaxReve

السؤال

أريد تقسيم سلسلة نصية بها نص إلى قائمة حيث كل عنصر من عناصر هذه القائمة يتكون من كلمة من النص، أي أنني أريد تقسيم السلسلة النصية إلى عدد كلماتها وذلك ضمن قائمة، فما هي الشيفرة البرمجية اللازمة لفعل ذلك في بايثون؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

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

words = text.split()      

يمكنك أيضا تعيين محدد معين مثل ",” لتقسيم السلسلة النصية إلى أجزاء حسب هذه المعين كما في المثال التالي:

words = text.split(",")   

وإذا  أردت استخدام دالة أخرى فيمكن استخدام word_tokenize من مكتبة nltk حيث ستُمرر السلسلة النصية التي ترغب بتقسيمها كما في split():

>>> import nltk
>>> s = "The fox's foot grazed the sleeping dog, waking it."
>>> words = nltk.word_tokenize(s)
>>> words
['The', 'fox', "'s", 'foot', 'grazed', 'the', 'sleeping', 'dog', ',',
'waking', 'it', '.']

المصدر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

الأداة الأفضل لإنجاز ذلك هي مكتبة التعابير المنتظمة re. حيث تمنحك حرية كاملة في تحديد أسس التقسيم التي تريدها.
مثال: تقسيم سلسلة نصية على أساس الفراغات الفاصلة بين الكلمات.

import re
re.split('\s+', 'Please split this string')
# ['Please', 'split', 'this', 'string']

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...