متدهای رشته‌ای در پایتون

متدهای پرکاربرد رشته: 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

این مبحث بخشی از دوره آموزش کامل پایتون است.

ابزارهای مرتبط