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

السؤال

Recommended Posts

  • 1
نشر

لعمل شرط فيماإذا كانت سلسلة محتواة في أخرى يمكننا استخدام التعليمة in:

حيث أنها تعيد true | false

x="you are the best"
if 'the' in x:
  print("yes")

للبحث عن موقع الكلمة نستخدم الدالة find:

index = x.find("the")
print(index)

حيث تعيد دليل العنصر (0 إلى طول السلسة - 1) في حال كان موجود، وإلا تعيد -1.

  • 0
نشر

نعم في الواقع يوجد هناك دالة مضمنة في بايثون بنفس الاسم والمواصفات للقيام بذلك:

String.__contains__(another_string)

هذه الدالة تأخذ سلسلتين (السلسلة المُستدعية String والسلسلة الممرة كمعطى للدالة another_string)، وترجع هذه الدالة إما True إذا كانت another_string تنتمي إلى السلسلة المستدعية أو False في حال كان لا تنتمي.
مثلاً:

ret = str_object.contains(another_string)

هنا سيتم اختبار فيما إذا كانت str_object تحتوي السلسلة another_string، وسيتم تخزين الناتج في ret.
مثال:

str_object = "Hello from Python"
another_string = "Python"
if (str_object.__contains__(another_string)):
    print("str_object contains another_string!")
else:
    print("str_object does not contain another_string")


يمكن أيضاً استخدامها بالشكل التالي:

ret = str.__contains__(str_object, another_string)

وكحل آخر يمكنك استخدام الدالة search من المكتبة RegEx (re) كما يلي:

from re import search
str_obj = "StackAbuse"
another_string = "tack"
if search(another_string, str_obj):
    print "Found!"
else:
    print "Not found!"

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...