logo

בדוק אם למחרוזת יש תו ב-Python

אחת הפעולות השכיחות ביותר בכל שפת תכנות היא קביעה אם מחרוזת נתונה מכילה מחרוזת משנה. לפייתון יש מספר שיטות לקביעה אם מחרוזת נתונה מכילה תו. האופרטור 'in' של Python, המשמש ככלי לפעולות השוואה, הוא הדרך המהירה והקלה ביותר לקבוע אם מחרוזת Python כוללת תו. בדיקה אם מחרוזת כוללת מחרוזת משנה מועילה גם מהשימוש בפונקציות אחרות של Python כמו find(), index(), count() ואחרות.

שימוש באופרטור 'in' של Python

האופרטור 'in' של Python הוא הדרך המהירה והקלה ביותר לקבוע אם מחרוזת כוללת מחרוזת משנה או לא. אם למחרוזת יש את התווים, פעולה זו מחזירה אמת בוליאני; אחרת, הוא מחזיר false.

קוד

 # 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__()

הפונקציה __contains__() של מחלקת String של Python מספקת גם דרך לקבוע אם המחרוזת הנתונה מכילה מחרוזת משנה או לא. פעולת 'in' של Python קוראת למתודה __contains__() כאשר משתמשים בה באופן מרומז. כאשר אובייקט מחלקה מופיע בצד ימין של האופרטורים 'in' ו-'not in', ההתנהגות מוגדרת על ידי שיטת __contains__. למרות שאנו יכולים, אנו בוחרים שלא להשתמש בשיטה זו במפורש. למרות שפונקציות עם קווים תחתונים בתור התו הראשון שלהן נחשבות כפרטיות מבחינה סמנטית, מומלץ להשתמש באופרטורים 'in' לצורך קריאה.

קוד

 # 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() של Python

אתה יכול גם להשתמש בטכניקת 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.