Python - Modify Strings

در Python رشته‌ها (Strings) immutable هستند؛ یعنی نمی‌توانید کاراکترهای یک رشته را مستقیماً تغییر دهید.
اما می‌توانید با ساخت رشتهٔ جدید رشتهٔ قدیمی را به شکل دلخواه «ویرایش» کنید.

🔹 1️⃣ جایگزینی حروف (Replace)

txt = "I like Java" new_txt = txt.replace("Java", "Python") print(new_txt) # I like Python
  • replace(قدیم, جدید, تعداد)

  • آرگومان سوم (اختیاری) تعداد جایگزینی است.

🔹 2️⃣ تغییر حروف به کوچک یا بزرگ

txt = "Hello World" print(txt.upper()) # HELLO WORLD print(txt.lower()) # hello world

🔹 3️⃣ حذف فاصله‌های اضافه

msg = " Python " print(msg.strip()) # "Python" (حذف فاصله‌های ابتدا و انتها) print(msg.lstrip()) # حذف فاصله‌های سمت چپ print(msg.rstrip()) # حذف فاصله‌های سمت راست

🔹 4️⃣ جایگزینی چندگانه با متدهای دیگر

txt = "apple, banana, cherry" print(txt.replace("a", "@")) # همه a ها → @ print(txt.replace("a", "@", 2)) # فقط 2 جای اول

🔹 5️⃣ تقسیم و ترکیب دوباره

گاهی برای تغییرات پیچیده، رشته را تکه‌تکه کرده و دوباره می‌سازیم:

txt = "I like bananas" parts = txt.split() # ['I','like','bananas'] parts[2] = "apples" # لیست را تغییر می‌دهیم new_txt = " ".join(parts) # 'I like apples' print(new_txt)

🔹 6️⃣ تغییر حروف ابتدای کلمات

name = "hello python" print(name.title()) # Hello Python print(name.capitalize()) # Hello python

🔹 7️⃣ قالب‌بندی (Formatting)

برای ساخت رشتهٔ جدید با مقادیر دلخواه:

lang = "Python" ver = 3 print(f"I love {lang} {ver}") # f-string print("I love {} {}".format(lang, ver)) # format()

✅ نکات مهم

  • رشتهٔ اصلی تغییر نمی‌کند؛ هر متد رشتهٔ جدیدی برمی‌گرداند.

  • برای تغییر یک کاراکتر خاص باید:

    1. رشته را به لیست کاراکترها تبدیل کنید.

    2. تغییر دهید.

    3. دوباره با "".()join به رشته برگردانید.

s = "cat" lst = list(s) lst[0] = "r" s = "".join(lst) print(s) # rat

💡 خلاصه:

  • رشته‌ها در پایتون قابل تغییر مستقیم نیستند.

  • برای «ویرایش» باید یک رشتهٔ جدید بسازید با کمک متدهایی مثل replace, upper, lower, strip, split, join و قالب‌بندی (f-string/format).