عند العمل مع البيانات النصية في البرمجة، غالبًا ما يكون من الضروري التأكد من وجود أو عدم وجود أحرف محددة داخل السلاسل . يعد هذا مفيدًا بشكل خاص لمهام مثل التحقق من صحة البيانات ومطابقة الأنماط وتحليل النص. في هذه المقالة، سوف نستكشف طرقًا مختلفة للتحقق من وجود أحرف معينة في سلسلة باستخدام Python 2.
الطريقة الأكثر إيجازًا للتحقق من وجود حرف معين في سلسلة في Python 2 يتم من خلال عامل التشغيل. يقوم هذا العامل بإرجاع True إذا تم العثور على الحرف في السلسلة وإرجاع False بخلاف ذلك. على سبيل المثال، للتحقق مما إذا كانت السلسلة تحتوي على علامة الدولار ($):
string = "The criminals stole $1,000,000 in jewels."
if '$' in string:
# Found the dollar sign
else:
# Didn't find the dollar sign
للتحقق من وجود أحرف محددة متعددة، الطريقة البسيطة هي استخدام طريقة البحث (). تقوم هذه الطريقة بإرجاع فهرس التواجد الأول للحرف في السلسلة. إذا لم يتم العثور على الحرف، فسيتم إرجاعه -1. من خلال التحقق مما إذا كان الفهرس الذي تم إرجاعه ليس -1، يمكننا تحديد ما إذا كان الحرف موجودًا في السلسلة:
if string.find('$') != -1:
# Found the dollar sign
else:
# Didn't find the dollar sign
توفر التعبيرات العادية طريقة أكثر قوة وتنوعًا لمطابقة الأحرف في السلاسل. للتحقق من وجود علامات الدولار والفواصل والأرقام في السلسلة المقدمة، يمكننا استخدام التعبير العادي التالي:
import re
pattern = re.compile(r'\d\$,')
if pattern.findall(string):
# Found the characters
else:
# Didn't find the characters
يطابق التعبير العادي أعلاه أي رقم (\d) متبوعًا بعلامة الدولار (\$) والفاصلة (،).
هناك طريقة فعالة أخرى وهي استخدام مجموعة من الأحرف. المجموعات في Python 2 هي مجموعات غير مرتبة من العناصر الفريدة. يمكننا إنشاء مجموعة من الأحرف المستهدفة والتكرار عبر سلسلة الإدخال، والتحقق مما إذا كان كل حرف ينتمي إلى المجموعة. إذا تطابق أي حرف، فهذا يشير إلى وجود الأحرف المستهدفة:
import string # Contains the string module
chars = set('0123456789$,')
if any((c in chars) for c in string):
# Found the characters
else:
# Didn't find the characters
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3