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

كيف أتأكد من أن السلسلة النصية تحتوي على حروف وبعض الرموز فقط في بايثون؟

المبرمج العربي

السؤال

أريد التأكد من أن  السلسلة النصية تحتوي فقط على حروف وأرقام والخطوط العلوية والسفلية (underscores and dashes) فما أسهل طريقة لفعل ذلك بدون استخدام حلقات التكرار؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

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

import re

...

if re.match("^[A-Za-z0-9_-]*$", my_little_string):
    # do something here

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

import string
allowed = string.letters + string.digits + '_' + '-'

def check_naive(mystring):
    return all(c in allowed for c in mystring)

طريقة أخرى لفعل ذلك باستخدام التعابير النمطية كالتالي:

CHECK_INV_RE = re.compile('[^a-zA-Z0-9_-]')
def check_inv_re(mystring):
   return not CHECK_INV_RE.search(mystring)
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...