logo

تحقق مما إذا كانت السلسلة تحتوي على حرف في بايثون

إحدى العمليات الأكثر شيوعًا في كل لغة برمجة هي تحديد ما إذا كانت سلسلة معينة تحتوي على سلسلة فرعية. لدى بايثون العديد من الطرق لتحديد ما إذا كانت سلسلة معينة تحتوي على حرف أم لا. يعد عامل التشغيل 'in' في Python، والذي يعمل كأداة لعمليات المقارنة، هو الطريقة الأسرع والأسهل لتحديد ما إذا كانت سلسلة Python تتضمن حرفًا أم لا. التحقق مما إذا كانت السلسلة تتضمن سلسلة فرعية يستفيد أيضًا من استخدام وظائف Python الأخرى مثل find() وindex() وcount() وغيرها.

باستخدام عامل التشغيل 'in' الخاص ببايثون

يعد عامل التشغيل 'in' في Python هو الطريقة الأسرع والأسهل لتحديد ما إذا كانت السلسلة تحتوي على سلسلة فرعية أم لا. إذا كانت السلسلة تحتوي على أحرف، فستُرجع هذه العملية قيمة منطقية صحيحة؛ وإلا فإنها ترجع كاذبة.

شفرة

 # Python program to show how to use the in operator to check if a string contains a substring # Creating a string str='Python Tutorial' print('The string 'tut' is present in the string: ', 'Tut' in str) 

انتاج:

 The string 'tut' is present in the string: True 

إذا تم تضمين السلسلة المعطاة كوسيطة على اليسار داخل السلسلة المعطاة كوسيطة يمنى، فإن عامل التشغيل 'in' يعطي True. ويقبل معلمتين، واحدة على كل جانب. يتعامل عامل التشغيل 'in' في Python مع الأحرف الكبيرة والصغيرة بشكل منفصل نظرًا لأنه عامل حساس لحالة الأحرف.

باستخدام الدالة __يحتوي على__()

توفر الدالة __contains__()‎ لفئة String في Python أيضًا طريقة لتحديد ما إذا كانت السلسلة المحددة تحتوي على سلسلة فرعية أم لا. تستدعي عملية 'in' الخاصة بـ Python الأسلوب __contains__() عند استخدامها ضمنيًا. عندما يظهر كائن فئة على الجانب الأيمن من عاملي التشغيل 'in' و'not in'، يتم تعريف السلوك بواسطة الطريقة __contains__. وعلى الرغم من أننا نستطيع ذلك، إلا أننا نختار عدم استخدام هذه الطريقة بشكل صريح. على الرغم من أن الوظائف التي تحتوي على الشرطة السفلية كحرفها الأول تعتبر خاصة من الناحية الدلالية، إلا أنه يُنصح باستخدام عوامل التشغيل 'in' لتسهيل القراءة.

javatpoint java

شفرة

 # Python program to show how to use the __contain__ method to check if a string contains a substring # Creating a string string = 'Python Tutorial' print('The string 'tut' is present in the string: ', string.__contains__('Tut')) 

انتاج:

 The string 'tut' is present in the string: True 

باستخدام طريقة str.find() في بايثون

يمكنك أيضًا استخدام تقنية string.find() . تحدد الدالة find() ما إذا كانت هناك سلسلة فرعية موجودة في السلسلة المحددة. إذا وجدت، ترجع الدالة find () -1؛ وإلا فإنه يعطي فهرس البداية للسلسلة الفرعية داخل السلسلة.

شفرة

 # Python program to find a character in a string and get its index # Creating a string string = 'Python Tutorial' index = string.find('T') if index != -1: print('The character 'T' is present in the string at: ', index) else: print('The character is not present in the string') 

انتاج:

 The character 'T' is present in the string at: 7 

وهذا النهج مقبول؛ ومع ذلك، فإن استخدام الدالة str.find()‎ هي طريقة أقل بايثونية لإكمال هذه المهمة. على الرغم من أنها أطول وأكثر اختلاطا إلى حد ما، إلا أنها لا تزال تنجز المهمة.

باستخدام طريقة str.count()

استخدم الدالة Python count() إذا كنت ترغب في حساب مثيلات سلسلة فرعية معينة داخل السلسلة. تعطي الدالة 0 إذا لم تتمكن من العثور على السلسلة الفرعية أو الحرف في السلسلة المحددة.

شفرة

 # Python program to check a character is present in the string using the count() function # Creating a string string = 'Python Tutorial' count = string.count('o') if count != 0: print(f'The character 'o' is present in the string {count} times.') else: print('The character is not present in the string') 

انتاج:

 The character 'o' is present in the string 2 times.