المبرمج العربي نشر 18 يناير 2016 أرسل تقرير نشر 18 يناير 2016 أريد التأكد من أن السلسلة النصية تحتوي فقط على حروف وأرقام والخطوط العلوية والسفلية (underscores and dashes) فما أسهل طريقة لفعل ذلك بدون استخدام حلقات التكرار؟ اقتباس
0 هشام رزق الله نشر 18 يناير 2016 أرسل تقرير نشر 18 يناير 2016 يوجد العديد من الطرق لفعل ذلك في بايثون، فيمكنك على سبيل المثال استخدام التعابير النمطية وفعل ذلك في سطر واحد فقط كما في المثال التالي(هذا أقصر وأبسط مثال):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) اقتباس
السؤال
المبرمج العربي
أريد التأكد من أن السلسلة النصية تحتوي فقط على حروف وأرقام والخطوط العلوية والسفلية (underscores and dashes) فما أسهل طريقة لفعل ذلك بدون استخدام حلقات التكرار؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.