• 0

كيف أستخرج الأرقام من سلسلة نصية في بايثون؟

لدي سلسلة نصية وأرغب في استخراج جميع الأرقام الموجودة داخلها ووضعها داخل قائمة معينة فكيف يمكنني فعل ذلك في لغة بايثون؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

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

>>> str = "h3110 23 cat 444.4 rabbit 11 2 dog"
>>> [int(s) for s in str.split() if s.isdigit()]
[23, 11, 2]

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

>>> re.findall(r'\b\d+\b', 'he33llo 42 I\'m a 32 string 30')
['42', '32', '30']

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن