الانتقال إلى المحتوى الرئيسي

كيفية تقسيم سلسلة إلى كلمات باستخدام بايثون

بيثون هي واحدة من لغات البرمجة الأكثر شعبية ومريحة ، والذي يستخدم على نطاق واسع في مختلف المجالات. لديها العديد من الوظائف المفيدة ، والتي بفضلها يمكن تبسيط حل المهام المختلفة بشكل كبير ، بما في ذلك معالجة النصوص وتحليلها.

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

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

  1. طرق مدمجة لتقسيم السلاسل إلى كلمات في بايثون
  2. انقسام()
  3. طريقة رسبليت () طريقة
  4. تقسيم سلسلة إلى كلمات باستخدام التعبيرات العادية
  5. وحدة إعادة والانقسام () طرق
  6. استخدم قائمة محددة مسبقا من علامات الترقيم
  7. تقسيم سلسلة إلى كلمات باستخدام مكتبة نلتك
  8. تركيب واستيراد نلتك
  9. استخدام وظائف ترميز النص
  10. سؤال وجواب

طرق مدمجة لتقسيم السلاسل إلى كلمات في بايثون

عندما يكون من الضروري تقسيم سلسلة إلى كلمات منفصلة ، تقدم بايثون العديد من الطرق المضمنة التي تجعل هذه المهمة أسهل. يمكن استخدام الطرق التالية لتقسيم سلسلة إلى كلمات:

  • انقسام(): تقسم هذه الطريقة سلسلة إلى سلاسل فرعية باستخدام فاصل ، والذي يمكن أن يكون مسافة افتراضيا. إرجاع قائمة من الكلمات.
  • ) وإرجاع قائمة من السلاسل.

مثال على استخدام طريقة الانقسام () لتقسيم سلسلة إلى كلمات:

سلسلة = "تقسيم سلسلة إلى كلمات"

الكلمات = سلسلة.انقسام()

طباعة (كلمات)

الناتج:

['سبليت' ، 'خطوط' ، ' إلى ' ، 'كلمات']

مثال على استخدام طريقة سبليتلينز () لتقسيم سلسلة إلى سلاسل:

سلسلة = " السطر الأول

السطر الثاني

السطر الثالث"

خطوط = سلسلة.خطوط الانقسام()

طباعة (خطوط)

الناتج:

['السطر الأول' ، 'السطر الثاني' ، 'السطر الثالث']

تكون هذه الطرق مفيدة عندما تحتاج إلى معالجة النص أو إجراء عمليات على كلمات أو أسطر فردية في النص.

طريقة الانقسام () هي واحدة من أكثر الطرق شيوعا وملاءمة لتقسيم سلسلة إلى كلمات أو عبارات منفصلة. يسمح لك بتقسيم سلسلة بواسطة فاصل معين والحصول على قائمة بالسلاسل الفرعية.

بناء جملة طريقة الانقسام () كما يلي:

سلسلة.انقسام (محدد ، الحد الأقصى لعدد الانقسامات)

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

نتيجة طريقة الانقسام () هي قائمة بالسلاسل الفرعية التي تم الحصول عليها بعد تقسيم السلسلة الأصلية.

مثال على استخدام طريقة الانقسام () يبدو كما يلي:

نص = "نموذج نص لتقسيم"

الكلمات = النص.انقسام()

طباعة (كلمات)

في هذا المثال ، سيتم فصل السطر الأصلي "مثال نص للفصل" إلى كلمات منفصلة بمسافة. ستكون نتيجة البرنامج على النحو التالي:

['مثال' ، 'نص' ، 'ل' ، 'فصل']

إذا أردنا تقسيم سلسلة بفاصل آخر (على سبيل المثال ، فاصلة) ، فيمكننا تمرير هذا الفاصل كوسيطة إلى طريقة الانقسام ().

نص = "مثال ، نص ، من أجل ، فصل"

الكلمات = النص.انقسام ("،")

طباعة (كلمات)

في هذا المثال ، سيتم تقسيم السلسلة إلى كلمات منفصلة بفاصلة. ستكون نتيجة البرنامج على النحو التالي:

['مثال' ، 'نص' ، 'ل' ، 'فصل']

بالإضافة إلى التقسيم بحرف واحد ، تسمح لك طريقة الانقسام() أيضا بتقسيم سلسلة بعدة أحرف ، وتمرير سلسلة من الأحرف كفاصل.

النص = "مثال على النص إلى تقسيم"

الكلمات = النص.انقسام (" -")

طباعة (كلمات)

في هذا المثال ، سيتم تقسيم السلسلة إلى كلمات منفصلة بواسطة حرف الواصلة. ستكون نتيجة البرنامج على النحو التالي:

['مثال' ، 'نص' ، 'ل' ، 'فصل']

تسمح لك طريقة الانقسام () أيضا بتحديد الحد الأقصى لعدد تقسيمات الخطوط. يمكن أن يكون هذا مفيدا إذا أردنا فصل الأول فقط ن تكرارات الفاصل.

النص = "نص عينة من نص النص"

الكلمات = النص.انشق ، مزق ( "" , 2)

طباعة (كلمات)

في هذا المثال ، سيتم فصل السلسلة إلى أول كلمتين بمسافة. ستكون نتيجة البرنامج على النحو التالي:

['مثال' ، ' نص ' ، 'نص النص']

يمكن أيضا استخدام طريقة الانقسام () لتقسيم سلسلة إلى أحرف منفصلة. للقيام بذلك ، قم بتمرير معلمة الفاصل كسلسلة فارغة.

النص = "بايثون"

الأحرف = النص.انقسام ("")

طباعة (أحرف)

في هذا المثال ، سيتم تقسيم السلسلة "بيثون" إلى أحرف منفصلة. ستكون نتيجة البرنامج على النحو التالي:

['ص' ، ' ص ' ، ' ر ' ، 'ح' ، ' س ' ، 'ن']

عند استخدام طريقة الانقسام () ، من المهم أن تتذكر أنها تنشئ كائنات جديدة في الذاكرة ويمكن أن تستهلك موارد إضافية ، خاصة عند العمل مع سلاسل كبيرة. لذلك ، إذا كنت بحاجة فقط لحساب عدد الكلمات في سلسلة ، دون حفظ قائمة من الكلمات ، يمكنك استخدام طريقة العد() أو وظيفة لين ().

طريقة رسبليت بيثون () يقدم العديد من الطرق لتقسيم سلسلة إلى كلمات. واحدة من هذه الطرق هي طريقة رسبليت (). ستكون نتيجة عمله قائمة تحتوي على جميع الكلمات التي يمكن تقسيم السلسلة الأصلية إليها:

بناء الجملة:

سلسلة.رسبليت (سبتمبر = لا شيء ، ماكسسبليت=-1)

الحجج:

  • سبتمبر هو وسيطة اختيارية تحدد الفاصل الذي يتم من خلاله تقسيم السلسلة. بشكل افتراضي ، يتم استخدام مساحة;
  • ماكسسبليت هو وسيطة اختيارية تحدد الحد الأقصى لعدد الانقسامات. لا توجد قيمة افتراضية.

النظر في مثال على استخدام طريقة رسبليت () على سلسلة:

سلسلة = " مرحبا, كيف حالك?"

النتيجة = سلسلة.رسبليت()

طباعة (نتيجة)

خاتمة:

['مرحبا,', 'كيف حالك,' كيف حالك?']

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

سلسلة = " مرحبا, كيف حالك?"

النتيجة = سلسلة.رسبليت ("،")

طباعة (نتيجة)

خاتمة:

['مرحبا', ' كيف حالك?']

في هذا المثال ، تم تعيين فاصلة كفاصل ، لذلك تم تقسيم السلسلة وتم استلام عنصري قائمة.

أيضا ، طريقة رسبليت() يسمح لك لتحديد الحد الأقصى لعدد الأقسام. على سبيل المثال ، إذا قمت بتعيين الحد الأقصى لعدد الانقسامات إلى 1:

سلسلة = " مرحبا, كيف حالك?"

النتيجة = سلسلة.رسبليت (ماكسسبليت=1)

طباعة (نتيجة)

خاتمة:

['مرحبا, كيف حالك' ,' كيف حالك?']

في هذه الحالة ، يتم تعيين الحد الأقصى لعدد الانقسامات إلى 1 ، لذلك تم تقسيم السلسلة مرة واحدة فقط.

طريقة رسبليت () مريحة للغاية عندما تحتاج إلى تقسيم سلسلة إلى قائمة من الكلمات باستخدام فاصل محدد. إنه مفيد بشكل خاص عندما تحتاج إلى تقسيم الخطوط التي تحتوي على محددات في أماكن مختلفة أو عندما تحتاج إلى تحديد الحد الأقصى لعدد الانقسامات.

تقسيم سلسلة إلى كلمات باستخدام التعبيرات العادية

التعبير العادي هو أداة قوية للعمل مع النص الذي يسمح لك للبحث واستبدال أنماط معينة. باستخدام التعبيرات العادية ، يمكنك بسهولة تقسيم سلسلة إلى كلمات.

، والذي يوفر العديد من الوظائف للعمل مع القوالب والنصوص.

. هنا هو رمز عينة:

استيراد إعادة

النص = " هذا مثال على النص الذي يجب تقسيمه إلى كلمات."

كلمات = إعادة.انقسام (ص '\ ث+ ' ، نص)

طباعة (كلمات)

يقسم السلسلة إلى كلمات ، متجاهلا علامات الترقيم والمسافات.

ستكون نتيجة تنفيذ هذا الرمز قائمة الكلمات التالية:

['هذا' ، 'مثال' ، 'نص' ، 'التي' ، 'الحاجة' ، 'تقسيم' ، ' إلى ' ، 'كلمات']

أيضا ، عند تقسيم سلسلة إلى كلمات باستخدام تعبيرات عادية ، يمكنك مراعاة الميزات الأخرى للنص ، مثل وجود أحرف كبيرة أو أرقام أو أحرف خاصة أخرى.

يتيح لك استخدام التعبيرات العادية العمل بمرونة مع النص وتنفيذ عمليات مختلفة مثل التصفية والبحث والاستبدال وغيرها.

وحدة إعادة والانقسام () طرق

وحدة إعادة هي وحدة مدمجة في بيثون ويوفر وظائف للعمل مع التعبيرات العادية. إحدى طرق هذه الوحدة هي طريقة الانقسام () ، والتي تسمح لك بتقسيم سلسلة إلى سلاسل فرعية باستخدام تعبير عادي.

تأخذ طريقة الانقسام () وسيطتين: تعبير عادي وسلسلة للانقسام. في هذه الحالة ، سيتم تقسيم السلسلة إلى سلاسل فرعية في كل مرة يتم فيها العثور على تطابق مع تعبير عادي.

مثال على استخدام طريقة الانقسام( ):

استيراد إعادة

سلسلة = " مرحبا ، العالم!"

النتيجة = إعادة.انقسام (ص" \ ث " ، سلسلة)

طباعة (نتيجة)

ستكون نتيجة تنفيذ هذا الرمز كما يلي:

["مرحبا" ، " ، "العالم"،"]

في هذه الحالة ، قمنا بتقسيم السلسلة على أي أحرف غير حرف أو رقم. والنتيجة هي قائمة من السلاسل الفرعية.

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

استيراد إعادة

سلسلة = " مرحبا ، العالم!"

النتيجة = إعادة.انقسام (ص "\ ق+ " ، سلسلة)

طباعة (نتيجة)

ستكون نتيجة تنفيذ هذا الرمز كما يلي:

['مرحبا ،' ، ' العالم!']

في هذا المثال ، استخدمنا الحرف" \ س "للإشارة إلى حرف مسافة ، والحرف" + " للإشارة إلى إمكانية تكرار المسافات في السلسلة الأصلية.

طريقة الانقسام () هي أداة قوية لتقسيم سلسلة إلى سلاسل فرعية باستخدام التعبيرات العادية. يسمح لك بتكوين قواعد التقسيم بمرونة والحصول على النتائج التي نحتاجها.

باستخدام قائمة محددة مسبقا من علامات الترقيم

عند العمل مع النص في بيثون ، يصبح من الضروري تقسيم سلسلة إلى كلمات منفصلة. طريقة واحدة لتحقيق ذلك هي استخدام قائمة محددة مسبقا من علامات الترقيم.

. تتيح لك هذه الوظيفة تحديد الفاصل الذي يتم من خلاله تقسيم السلسلة. يمكن استخدام قائمة محددة مسبقا من علامات الترقيم كفاصل.

يحتوي على جميع علامات الترقيم:

استيراد سلسلة

النص = " مرحبا! كيف حالك؟"

الكلمات = النص.انقسام (سلسلة.علامات الترقيم)

طباعة (كلمات)

# الإخراج: ["مرحبا" ، "كيف حالك"]

. وبالتالي ، تلعب علامات الترقيم في النص دور الفواصل ، التي يتم على أساسها تقسيم الخط.

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

تقسيم سلسلة إلى كلمات باستخدام مكتبة نلتك

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

لبدء العمل مع مكتبة نلتك ، تحتاج إلى تثبيته. في موجه الأوامر ، يمكنك إدخال الأمر التالي:

بيب تثبيت نلتك

من مكتبة نلتك:

من نلتك.توكينيزي استيراد كلمة توكينيزي

لتقسيم سلسلة إلى كلمات. من المفترض أن السلسلة المرسلة تحتوي على جمل باللغة الروسية:

النص = " مرحبا ، العالم! هذا مثال على جملة لتحليل النص."
كلمات = كلمة توكنيز (نص ، لغة = 'الروسية')

ستحصل على قائمة يمثل فيها كل عنصر كلمة منفصلة عن السلسلة الأصلية:

['مرحبا' ، ' ، ' ، 'العالم'،'!'،'هذا هو' ، 'مثال' ، 'الجمل' ، 'ل' ، 'تحليل' ، 'نص'،'.']

لاحظ أن علامات الترقيم والمسافات تعتبر أيضا عناصر منفصلة في القائمة. إذا لم يكن ذلك مطلوبا ، فيمكنك تطبيق معالجة إضافية ، على سبيل المثال ، إزالة علامات الترقيم:

استيراد سلسلة
الكلمات = [كلمة بكلمة في الكلمات إذا لم تكن الكلمة في سلسلة.علامات الترقيم]

الآن ستحتوي القائمة على كلمات فقط:

['مرحبا' ، 'العالم' ، ' هذا ' ، 'مثال' ، 'اقتراحات' ، 'ل' ، 'تحليل' ، 'النص']

من مكتبة نلتك ، يمكنك بسهولة ويسر تقسيم سلسلة إلى كلمات لمزيد من التحليل للنص باللغة الروسية.

تركيب واستيراد نلتك

نلتك (مجموعة أدوات اللغة الطبيعية) هي مكتبة بيثون التي توفر أدوات للعمل مع اللغة الطبيعية.

لبدء العمل مع نلتك ، تحتاج إلى تثبيته. للقيام بذلك ، اتبع التعليمات:

  1. تأكد من تثبيت بايثون. نلتك يدعم إصدارات بيثون 2.7 ، 3.5 ، 3.6 ، 3.7.
  2. افتح موجه الأوامر (المحطة الطرفية) وقم بتشغيل الأمر التالي لتثبيت نلتك:
الخيار 1:بيب تثبيت نلتك
الخيار 2:بيثون-م بيب تثبيت نلتك

بعد تثبيت نلتك ، يمكنك استيراده إلى مشروعك باستخدام الإرشادات التالية:

  • استيراد نلتك

أنت الآن على استعداد للبدء في استخدام ميزات نلتك للعمل مع اللغة الطبيعية في مشاريعك!

استخدام وظائف ترميز النص

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

هناك العديد من الوظائف في بايثون التي تساعدك على تقسيم سلسلة إلى كلمات:

  • سبليت (): هذه وظيفة بيثون مدمجة تقسم سلسلة إلى كلمات باستخدام مسافات كمحددات. على سبيل المثال:

نص = "نص مثال للرمز المميز"

الكلمات = النص.انقسام()

طباعة (كلمات)

النتيجة:

['مثال' ، 'نص' ، 'ل' ، 'توكينيزاتيون']

  • إعادة.تقسيم (): تتيح لك هذه الوظيفة من وحدة التعبير العادية استخدام محددات مختلفة لتقسيم سلسلة إلى كلمات. على سبيل المثال:

استيراد إعادة

النص = " مثال-نص!لـ + الرمز المميز"

كلمات = إعادة.انقسام (ص' [ -!+ ] '،نص)

طباعة (كلمات)

النتيجة:

['مثال' ، 'نص' ، 'ل' ، 'توكينيزاتيون']

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

استيراد نلتك

نص = "نص مثال للرمز المميز"

كلمات = نلتك.كلمة (نص)

طباعة (كلمات)

النتيجة:

['مثال' ، 'نص' ، 'ل' ، 'توكينيزاتيون']

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

أمثلة على وظائف ترميز النص في بايثون:

وظيفةفواصلالنتيجة
من سبليت()مسافة بيضاء['مثال' ، 'نص' ، 'ل' ، 'توكينيزاتيون']
إعادة.انقسام()— ! +['مثال' ، 'نص' ، 'ل' ، 'توكينيزاتيون']
نلتك.كلمة()مع الأخذ في الاعتبار ميزات اللغة['مثال' ، 'نص' ، 'ل' ، 'توكينيزاتيون']

اعتمادا على المهمة والمتطلبات المحددة ، يمكنك اختيار الوظيفة الأنسب لترميز النص في بايثون.

سؤال وجواب