يعد تقسيم سلسلة إلى كلمات منفصلة أحد أكثر العمليات شيوعا عند العمل مع النص. في لغة برمجة بايثون ، هناك العديد من الطرق والوظائف التي تسمح لك بتقسيم سلسلة إلى كلمات منفصلة. في هذه المقالة ، سوف ننظر في بعض من أفضل الطرق لمساعدتك بكفاءة وسهولة تقسيم سلسلة إلى كلمات في بيثون.
واحدة من أبسط الطرق وأكثرها شيوعا لتقسيم سلسلة إلى كلمات في بايثون هي استخدام طريقة الانقسام (). تسمح لك هذه الطريقة بتقسيم سلسلة إلى سلاسل فرعية (كلمات) وفقا لفاصل محدد. بشكل افتراضي ، يكون الفاصل مسافة ، ولكن يمكنك أيضا تحديد الفاصل الخاص بك ، مثل فاصلة أو فاصلة منقوطة.
طريقة أخرى مفيدة لتقسيم سلسلة إلى كلمات في بيثون هي استخدام طريقة الانقسام () بالاشتراك مع مولد القائمة. تتيح لك هذه الطريقة ضبط شروط تقسيم السلسلة إلى كلمات بشكل أكثر مرونة وتصفية النتائج التي تم الحصول عليها. كما أنه يتجنب إنشاء قائمة وسيطة ، والتي يمكن أن تكون مفيدة عند العمل مع بيانات نصية كبيرة.
طرق أخرى لتقسيم سلسلة إلى كلمات في بيثون تستخدم التعبيرات العادية وطريقة فيندال () من وحدة إعادة. توفر التعبيرات العادية مرونة عالية عند العمل مع النص ، مما يسمح لك بتحديد أنماط مختلفة للبحث عن السلاسل وتقسيمها. وبالإضافة إلى ذلك ، فإن طريقة فيندال() يسمح لك للعثور على جميع المباريات مع نمط معين في سلسلة وإعادتها كقائمة.
في هذه المقالة ، نظرنا في بعض من أفضل الطرق لتقسيم سلسلة إلى كلمات في لغة برمجة بايثون. استخدم هذه الطرق في التعليمات البرمجية الخاصة بك لمعالجة أكثر ملاءمة وكفاءة للبيانات النصية.
- طريقة الانقسام ()
- من التعبيرات العادية
- استخدام مكتبة نلتك
- تقسيم سلسلة إلى أحرف والتحقق من الأحرف الأبجدية
- سؤال وجواب
- كيف يمكنني تقسيم سلسلة إلى كلمات في بيثون?
- هل يمكنني تقسيم سلسلة بأحرف متعددة?
- كيف يمكنني تقسيم سلسلة حساسة لحالة الأحرف?
- هل من الممكن استخدام التعبيرات العادية لتقسيم سلسلة إلى كلمات?
- كيف يمكنني تقسيم سلسلة إلى كلمات, تجاهل علامات الترقيم?
- هل من الممكن تقسيم سلسلة إلى كلمات باستخدام مولد?
طريقة الانقسام ()
طريقة الانقسام () هي واحدة من أكثر الطرق شيوعا وملاءمة لتقسيم سلسلة إلى كلمات منفصلة في لغة برمجة بايثون.
لاستخدام طريقة الانقسام () ، تحتاج إلى الاتصال به من السلسلة التي تحتاج إلى تقسيم وتمريرها فاصل كوسيطة. بشكل افتراضي ، الفاصل هو مسافة ، ولكن يمكنك تحديد أي حرف آخر أو حتى سلسلة فرعية.
نتيجة طريقة الانقسام () هي قائمة بالكلمات من السلسلة المصدر. تصبح كل كلمة عنصرا في هذه القائمة. إذا كان هناك العديد من المحددات المتتالية في السلسلة المصدر ، فإن طريقة الانقسام() ترجع سلاسل فارغة بينها كعناصر قائمة منفصلة.
مثال:
ستر = "هذا مثال على سلسلة لتقسيم إلى كلمات"
كلمات = شارع.انقسام()
طباعة (كلمات)
# الإخراج:
# ['هذا' ، 'مثال' ، 'سلاسل' ، 'ل' ، 'تقسيم' ، ' في ' ، 'كلمات']
إذا كنت بحاجة إلى تحديد فاصل آخر ، فيمكنك تمريره إلى طريقة الانقسام () كوسيطة:
شارع = "الفاصل هو علامة الكلمة التي يتم فصلها"
كلمات = شارع.انقسام ("_")
طباعة (كلمات)
# الخلاصة:
# ['فاصل هو' ، 'علامة' ، 'أن' ، ' أن ' ، 'الكلمات' ، 'مفصولة']
طريقة سبليت() لديها أيضا وسيطة إضافية ماكسسبليت ، والذي يسمح لك للحد من عدد من الانقسامات من سلسلة إلى كلمات. بشكل افتراضي ، هذه الوسيطة هي -1 ، مما يعني أن التقسيم يحدث في جميع تكرارات الفاصل.
شارع = "تقسيم سلسلة إلى كلمات ذات انقسامات محدودة"
كلمات = شارع.انقسام (""،ماكسسبليت=3)
طباعة (كلمات)
# الإخراج:
# ['تقسيم' ، 'سلاسل' ، ' في ' ، 'الكلمات مع انشقاقات محدودة']
تجدر الإشارة إلى أنه يمكن استخدام طريقة الانقسام() ليس فقط لتقسيم سلسلة إلى كلمات ، ولكن أيضا لتقسيم سلسلة إلى أي سلاسل فرعية أخرى وفقا للفاصل المحدد.
بشكل عام ، طريقة الانقسام() هي طريقة مريحة وفعالة للغاية لتقسيم سلسلة إلى كلمات في بايثون. يجعل العمل مع النص أسهل وأكثر ملاءمة.
التعبيرات العادية
التعبيرات العادية (أو التعبير العادي) هي أداة قوية تسمح لك بالبحث عن النص ومعالجته باستخدام القوالب. في بيثون ، يمكنك استخدام وحدة إعادة للعمل مع التعبيرات العادية.
تسمح لك التعبيرات العادية بفعل أشياء مثل:
- ابحث عن نص وفقا لقالب معين
- تقسيم سلسلة إلى سلاسل فرعية
- استبدال سلاسل فرعية في سلسلة
- التحقق من السلسلة للامتثال للنمط المحدد
أمثلة على الطرق الشائعة لاستخدام التعبيرات العادية:
- البحث عن كل الكلمات في سلسلة:
- تقسيم سلسلة إلى كلمات:
- استبدال سلاسل فرعية في سلسلة:
- التحقق من السلسلة للامتثال للنمط المحدد:
| التعبير | الوصف |
|---|---|
| \ ب \ ث + \ ب | البحث عن جميع الكلمات التي تتكون من حرف أو رقم واحد أو أكثر |
| [أ-ز-ز]+ | يبحث عن جميع الكلمات التي تتكون فقط من الحروف |
| التعبير | الوصف |
|---|---|
| \ ق | يقسم سلسلة إلى كلمات بمسافات |
| [.,!?] | يقسم سلسلة إلى كلمات بعلامات الترقيم |
| التعبير | الوصف |
|---|---|
| من إعادة.الفرعية (نمط ، استبدال ، سلسلة) | يستبدل جميع تكرارات سلسلة فرعية مطابقة للنمط مع سلسلة الاستبدال المحددة |
| التعبير | الوصف |
|---|---|
| من إعادة.مباراة (نمط ، سلسلة) | يتحقق ما إذا كانت السلسلة تبدأ مع سلسلة فرعية المقابلة للنمط |
| إعادة.بحث (نمط ، سلسلة) | يبحث عن أول ظهور لسلسلة فرعية مطابقة للنمط في السلسلة |
التعبيرات العادية هي أداة قوية جدا للعمل مع النص في بايثون. إنها تسمح لك بإجراء عمليات بحث ومعالجة نصية معقدة باستخدام قوالب بسيطة.
باستخدام
مكتبة نلتك نلتك (مجموعة أدوات اللغة الطبيعية) هي مكتبة مصممة للعمل مع اللغة الطبيعية في بايثون. يقدم مجموعة واسعة من أدوات معالجة النصوص ، بما في ذلك فرص الترميز (تقسيم النص إلى كلمات أو جمل منفصلة) ، واللي (جلب الكلمات إلى شكلها الأساسي) ، والتنقيب (تقليل الكلمات إلى قاعدتها) وأكثر من ذلك بكثير.
للعمل مع مكتبة نلتك ، تحتاج إلى تثبيته باستخدام الأمر:
- افتح موجه الأوامر.
- .
- اضغط على إدخال لتثبيت المكتبة.
بعد التثبيت ، نلتك يمكن استخدامها في التعليمات البرمجية. دعونا ننظر إلى مثال يوضح كيفية تقسيم سلسلة إلى كلمات منفصلة باستخدام نلتك.
"'بايثون
استيراد نلتك
نلتك.تحميل ('بانكت')
من نلتك.توكينيزي استيراد كلمة توكينيزي
النص = " مرحبا, كيف حالك?"
كلمات = كلمة_تحسين (نص)
طباعة (كلمات)
"`
سيكون إخراج هذا الرمز كما يلي:
- 'مرحبا'
- ‘,’
- 'كيف'
- 'الأعمال'
- ‘?’
يقسم سلسلة إلى كلمات فردية ، بما في ذلك علامات الترقيم ، ويعيدها كقائمة. تعتبر علامات الترقيم أيضا "كلمات" منفصلة.
يمكنك العثور على مزيد من المعلومات التفصيلية حول قدرات مكتبة نلتك في وثائقها.
تقسيم سلسلة إلى أحرف والتحقق من الأحرف الأبجدية
في بعض الأحيان يصبح من الضروري تقسيم سلسلة إلى أحرف منفصلة وتنفيذ عمليات معينة عليها. هناك عدة طرق للقيام بذلك في بايثون.
مع الزحف لكل حرف في السلسلة:
النص = "سلسلة المثال"
الأحرف = []
لشار في النص:
الشخصيات.إلحاق (شار)
، ثم حلقات من خلال كل حرف في السلسلة وإضافته إلى القائمة. نتيجة لذلك ، سيكون لدينا قائمة تحتوي على جميع أحرف السلسلة.
لكل حرف:
النص = "سلسلة المثال"
الأحرف = []
لشار في النص:
إذا شار.إيسالفا():
الشخصيات.إلحاق (شار)
خلاف ذلك. وبالتالي ، يضيف هذا الرمز أحرفا أبجدية فقط من السلسلة إلى القائمة.
:
النص = "سلسلة المثال"
الأحرف = قائمة (نص)
سيحتوي على جميع أحرف السلسلة.
إذا أردنا إزالة جميع الأحرف غير الأبجدية وإنشاء قائمة بالأحرف الأبجدية فقط ، فيمكننا استخدام منشئ القائمة:
النص = "سلسلة المثال"
الأحرف = [شار لشار في النص إذا شار.إيسالفا ()]
، فقط إذا كان الحرف أبجديا.
وبالتالي ، هناك عدة طرق لتقسيم سلسلة إلى أحرف والتحقق منها بحثا عن أحرف أبجدية في بايثون. يعتمد اختيار الطريقة على الوظيفة المطلوبة والتفضيلات الشخصية للمطور.
سؤال وجواب
كيف يمكنني تقسيم سلسلة إلى كلمات في بيثون?
في بايثون ، هناك عدة طرق لتقسيم سلسلة إلى كلمات. واحدة من أسهل الطرق هي استخدام طريقة الانقسام (). للقيام بذلك ، استدعاء طريقة سبليت () على السلسلة وتمرير كوسيطة الحرف الذي تريد تقسيم السلسلة. فمثلا: نص = " مرحبا, كيف حالك?"الكلمات = النص.انشق ، مزق ( "" ) وستكون النتيجة قائمة ['مرحبا,', 'كيف حالك,' كيف حالك?‘].
هل يمكنني تقسيم سلسلة بأحرف متعددة?
نعم ، يمكنك تقسيم سلسلة إلى كلمات باستخدام أحرف متعددة. للقيام بذلك ، كوسيطة لطريقة الانقسام () ، تحتاج إلى تمرير سلسلة تحتوي على جميع الأحرف التي تريد تقسيم السلسلة بها. فمثلا: نص = " مرحبا, كيف حالك?"الكلمات = النص.انشق ، مزق ( " ,") ستكون النتيجة قائمة ["مرحبا", " كيف حالك?’].
كيف يمكنني تقسيم سلسلة حساسة لحالة الأحرف?
لتقسيم سلسلة غير حساسة لحالة الأحرف ، يمكنك استخدام طريقة الانقسام() مع الطريقة السفلية (). أولا ، تحتاج إلى تحويل السلسلة إلى أحرف صغيرة باستخدام الطريقة السفلية () ، ثم استدعاء طريقة الانقسام (). فمثلا: نص = " مرحبا, كيف حالك?"الكلمات = النص.أقل ().انشق ، مزق () ستكون النتيجة قائمة ['مرحبا,' ,' كيف حالك' ,' كيف حالك?’].
هل من الممكن استخدام التعبيرات العادية لتقسيم سلسلة إلى كلمات?
نعم ، يمكنك استخدام التعبيرات العادية لتقسيم سلسلة إلى كلمات. للقيام بذلك ، تحتاج إلى استيراد وحدة إعادة واستخدام وظيفة الانقسام (). كوسيطة إلى وظيفة سبليت () ، تحتاج إلى تمرير التعبير العادي الذي يحدد الأحرف التي تريد تقسيم السلسلة. على سبيل المثال،: استيراد إعادة النص = "مرحبا, كيف حالك?"كلمات = إعادة.انقسام ("\ث+ " ، نص) ستكون النتيجة قائمة بـ ["مرحبا" ، "كيف حالك" ، "كيف حالك"].
كيف يمكنني تقسيم سلسلة إلى كلمات, تجاهل علامات الترقيم?
من أجل تقسيم سلسلة إلى كلمات ، وتجاهل علامات الترقيم ، يمكنك استخدام وحدة السلسلة ووظيفة الترجمة (). أولا ، تحتاج إلى إزالة جميع علامات الترقيم من السلسلة باستخدام طريقة الترجمة () ، ثم استدعاء طريقة الانقسام() على السلسلة الناتجة. فمثلا: استيراد نص السلسلة = " مرحبا, كيف حالك?"الكلمات = النص.ترجمة (شارع.ماكيترانس (""،""،سلسلة.علامات الترقيم)).تقسيم () ستكون النتيجة قائمة ['مرحبا،' ، 'كيف حالك' ، 'كيف حالك'].
هل من الممكن تقسيم سلسلة إلى كلمات باستخدام مولد?
نعم ، يمكنك تقسيم سلسلة إلى كلمات باستخدام مولد. للقيام بذلك ، استخدم تعبير المولد الذي سيعود كل كلمة لأنها تمر عبر الخط. فمثلا: نص = " مرحبا, كيف حالك?"الكلمات = (كلمة بكلمة في النص.انقسام()) ستكون النتيجة مولد يمكن استخدامه للتكرار على كلمات السلسلة.