پرسش

آیا در پایتون متدی برای بررسی وجود یک زیررشته در رشته اصلی وجود دارد؟

Does Python have a string 'contains' substring method?

آیا پایتون متدی داره که بتونم با استفاده از اون بررسی کنم آیا یک رشته حاوی یک زیررشته خاص هست یا نه؟ برای مثال، من می‌خوام ببینم که آیا رشته‌ای مثل hello world شامل کلمه world هست یا نه.

پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

در پایتون به‌طور مستقیم متدی با نام contains وجود نداره، اما راه‌های بسیار ساده‌ای برای بررسی وجود یک زیررشته در یک رشته اصلی هست که به همون اندازه کارآمد و خواناست.

بهترین و رایج‌ترین روش استفاده از کلمه کلیدی in هست. این روش نه تنها ساده و خواناست، بلکه سریع هم عمل می‌کنه.

برای مثال:

 

# Check if 'world' is in 'hello world'
if 'world' in 'hello world':
    print("Yes, 'world' is in 'hello world'")

در این کد، اگر زیررشته‌ی 'world' داخل رشته‌ی 'hello world' وجود داشته باشه، پیام 'Yes, 'world' is in 'hello world' چاپ می‌شه.

توضیحات:

- این روش کاملا صحیح و پرکاربرده و بسیاری از برنامه‌نویس‌ها از همین روش استفاده می‌کنن.

- اگر نیاز به بررسی‌های پیچیده‌تری داشته باشی، می‌تونی از متدهای find() یا index() استفاده کنی که موقعیت اولین وقوع زیررشته رو برمی‌گردونن. اما در اکثر مواقع همون in کارتو راه می‌اندازه.

# Using find() method
position = 'hello world'.find('world')
if position != -1:
    print(f"'world' found at position {position}")

توجه کن که اگر زیررشته پیدا نشه، متد find() مقدار -1 رو برمی‌گردونه.

در کل، استفاده از in برای بررسی وجود یک زیررشته در رشته اصلی هم ساده‌تره و هم خوانایی کد رو حفظ می‌کنه.

پاسخ: 1403/05/29
آخرین آپدیت: 1403/07/14