متدهای پرکاربرد رشته: upper، lower، split، join، replace، find، strip و...
متد رشته چیست؟
متدهای رشتهای توابعی هستند که روی رشتهها عمل میکنند. پایتون دهها متد رشتهای قدرتمند دارد.
تغییر حالت حروف
| متد | توضیح | مثال |
upper() | بزرگ کردن همه حروف | "abc".upper() → "ABC" |
lower() | کوچک کردن همه حروف | "ABC".lower() → "abc" |
title() | بزرگ اول هر کلمه | "hello".title() → "Hello" |
capitalize() | بزرگ اولین حرف | "hello".capitalize() |
swapcase() | تعویض بزرگ/کوچک | "AbC".swapcase() → "aBc" |
s = "Hello World"
print(s.upper()) # HELLO WORLD
print(s.lower()) # hello world
print(s.title()) # Hello World
print(s.capitalize()) # Hello world
جستجو در رشته
| متد | توضیح |
find(sub) | ایندکس اولین وقوع (یا ۱-) |
rfind(sub) | ایندکس آخرین وقوع |
index(sub) | مثل find اما خطا اگر نباشد |
count(sub) | تعداد وقوع |
startswith(sub) | آیا با این شروع میشود؟ |
endswith(sub) | آیا با این تمام میشود؟ |
s = "Python Programming"
print(s.find("Pro")) # 7
print(s.count("P")) # 2
print(s.startswith("Py")) # True
print(s.endswith("ing")) # True
جایگزینی
s = "من جاوا دوست دارم"
new_s = s.replace("جاوا", "پایتون")
print(new_s) # من پایتون دوست دارم
# جایگزینی همه وقوعها
text = "a-b-c-d"
print(text.replace("-", "+")) # a+b+c+d
تقسیم و ترکیب
split() — تقسیم به لیست
s = "سیب، موز، پرتقال"
fruits = s.split("،")
print(fruits) # ['سیب', ' موز', ' پرتقال']
# تقسیم با فاصله (پیشفرض)
words = "سلام دنیا".split()
print(words) # ['سلام', 'دنیا']
join() — ترکیب لیست به رشته
fruits = ["سیب", "موز", "پرتقال"]
result = "، ".join(fruits)
print(result) # سیب، موز، پرتقال
# با کاراکتر دیگر
print("-".join(["۰۹۱۲", "۳۴۵", "۶۷۸۹"]))
حذف فاصلههای اضافی (strip)
| متد | توضیح |
strip() | حذف فاصله از هر دو طرف |
lstrip() | حذف فاصله از چپ |
rstrip() | حذف فاصله از راست |
s = " سلام دنیا "
print(s.strip()) # "سلام دنیا"
print(s.lstrip()) # "سلام دنیا "
print(s.rstrip()) # " سلام دنیا"
بررسی نوع محتوا
| متد | توضیح |
isalpha() | آیا فقط حرف است؟ |
isdigit() | آیا فقط عدد است؟ |
isalnum() | آیا حرف یا عدد است؟ |
isspace() | آیا فقط فاصله است؟ |
isupper() | آیا همه بزرگ است؟ |
islower() | آیا همه کوچک است؟ |
print("123".isdigit()) # True
print("abc".isalpha()) # True
print("abc123".isalnum()) # True
print(" ".isspace()) # True
ترازبندی (Alignment)
s = "پایتون"
print(s.center(20)) # وسطچین
print(s.ljust(20)) # چپچین
print(s.rjust(20)) # راستچین
print(s.center(20, "*")) # با کاراکتر پر کردن
متدهای پرکاربرد دیگر
| متد | توضیح |
format() | قالببندی رشته |
encode() | کدگذاری به بایت |
zfill(n) | پر کردن با صفر از چپ |
# zfill — پر کردن با صفر
print("42".zfill(5)) # 00042
چند مثال کاربردی
پاکسازی ورودی کاربر
email = " User@Example.COM "
email = email.strip().lower()
print(email) # user@example.com
شمارش کلمات
text = "این یک متن تستی است"
word_count = len(text.split())
print(f"تعداد کلمات: {word_count}")
خلاصه متدهای مهم
| دسته | متدها |
| حالت | upper, lower, title, capitalize |
| جستجو | find, count, startswith, endswith |
| تغییر | replace, strip, lstrip, rstrip |
| تقسیم/ترکیب | split, join |
| بررسی | isalpha, isdigit, isalnum |
| تراز | center, ljust, rjust |