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

كيف أحذف جميع الحروف في سلسلة نصية في بايثون؟

Blackhacker

السؤال

Recommended Posts

  • 0

ستجد في بايثون عدّة أساليب لفعل ذلك، فإذا كنت تستعمل الإصدار الثاني من بايثون فيمكنك استخدام دوال maketrans وtranslate وغيرها من وحدة string للحذف كالتالي:

>>> x='aaa12333bb445bb54b5b52'
>>> import string
>>> all=string.maketrans('','')
>>> nodigs=all.translate(all, string.digits)
>>> x.translate(all, nodigs)
'1233344554552'
>>>

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

>>> import re
>>> re.sub("\D", "", "aas30dsa20")
'3020'

أو يمكنك استخدام دالة filter مع lambda كما في المثال التالي (بالنسبة للإصدار 2 من بايثون):

>>> filter(lambda x: x.isdigit(), "aas30dsa20")
'3020'

أو عن طريق استخدام السطر التالي إذا كنت تستعمل الإصدار 3 من بايثون:

>>> ''.join(filter(lambda x: x.isdigit(), "aas30dsa20"))
'3020'
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...