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

السؤال

نشر

لدي مجموعة من العبارات وأريد أن أحصل على جزء من كل عبارة، كل واحدة تحتوي على مجموعة من الكلمات وأريد أن أحصل على كل النص الذي يأتي بعد كلمة معينة:

my_str = "hello,world! I'm a programmer"

في الجملة السابقة أريد الحصول على كل النص الذي يأتي بعد كلمة "world" أي يجب أن تكون النتيجة "I'm a programmer !"

كيف أقوم بذلك؟

Recommended Posts

  • 1
نشر (معدل)

ربما تكون أسهل طريقة هي مجرد تقسيم النص الى عبارات انطلاقا من كلمة محددة باستعمال وظيفة split. الوظيفة هي:

str.split(sep, maxsplit)
  • استخدم الوسيطة sep لتحديد مكان حدوث الانقسام.
  • استخدم وسيطة maxsplit لتحديد عدد الانقسامات.
my_str = "hello,world! I'm a programmer"
print(my_str.split("world",1)[1]) # قسمنا السلسلة عبر كلمة ة وورلد و حددنا عدد الانقسامات في واحد ثم أخذنا العنصر المحصل عليه الثاني

لقراءة المزيد عن هذه الوظيفة من هنا

تم التعديل في بواسطة Ayoub Souad
  • 1
نشر

يمكنك إقتطاع النص بأكثر من طريقة نذكر منها التعبير النمطي (regex (regular expression. في لغة بايثون توجد الأداة re سنستخدمها في المثال القادم لإستخلاص النص المرغوب بدلالة جزء معين من النص string.

import re # إستيراد الأداة
txt = "hello,world! I'm a programmer" # النص المراد معالجته
x = re.search("(?<=hello,world).*", txt) # إقتطاع الجزء غير المرغوب به
result= x.group(0) # حفظ النص المستخلص في متغير
print( result ) # => ! I'm a programmer 
#طباعة النص المستخلص

# ?<= or look behind
#يسمى بطريقة النظر الى الخلف وظيفته بدء البحث عن النص ابتداءً من جزء نصي معين

#.* 
#رمز النقطة يشير الى أي رمز نصي 
#النجمة لتكرار الشيء الذي قبلها 
	

لاحظ أننا أجرينا البحث بدلالة hello,world لتضييق دائرة البحث عندما يكون النص أطول. لكن البحث بدلالة world فقط سيعطي أيضا النتيجة ذاتها في مثالك الذي إستخدمناه للتوضيح. ومنه تفهم أنك تعدل نطاق البحث بحسب الحاجة.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...