نوشتههای متدهای String در پایتون – بخش اول و متدهای String در پایتون – بخش دوم را مطالعه کنید.
متدهای String
پایتون مجموعهای از متدهای داخلی دارد که میتوانید از آنها در رشتهها استفاده کنید. دقت داشته باشید که تمام متدها مقادیر جدید را برمیگردانند. آنها رشته اصلی را تغییر نمیدهند.
lstrip
فضای خالی را از سمت چپ رشته حذف میکند.
# Input txt = " banana " x = txt.lstrip() print("of all fruits", x, "is my favorite") # Output of all fruits banana is my favorite
مثال زیر کاراکترهای مشخص شده را از سمت چپ رشته حذف میکند.
# Input txt = ",,,,,ssaaww.....banana" x = txt.lstrip(",.asw") print(x) # Output banana
partition
یک رشتهی مشخص شده را جستجو میکند و آن را در یک Tuple به سه عنصر تقسیم میکند. عنصر اول بخش قبل از رشتهی مشخص شده، عنصر دوم رشتهی مشخص شده و عنصر سوم بخش بعد از رشتهی مشخص شده میباشد.
دقت داشته باشید این متد اولین رخداد رشتهی مشخص شده را جستجو میکند.
نوشتهی نوع دادهی Tuple در پایتون را مطالعه کنید.
مثال زیر رشته bananas را جستجو میکند و یک Tuple با سه عنصر برمیگرداند.
# Input txt = "I could eat bananas all day" x = txt.partition("bananas") print(x) # Output ('I could eat ', 'bananas', ' all day')
اگر مقدار مشخص شده وجود نداشته باشد یک Tupe که عنصر اول آن کل رشته و عنصر دوم و سوم آن رشتهی خالی میباشد برمیگرداند.
# Input txt = "I could eat bananas all day" x = txt.partition("apples") print(x) # Output ('I could eat bananas all day', '', '')
rfind و rindex
آخرین رخداد مقدار مشخص شده را پیدا میکنند. متد rfind تقریباً مشابه متد rindex است.
مثال زیر آخرین رخداد مقدار casa را برمیگرداند.
# Input txt = "Mi casa, su casa." x = txt.rfind("casa") y = txt.rindex("casa") print(x, y) # Output 12 12
مثال زیر مشخص میکند آخرین رخداد حرف e در کدام موقعیت است.
# Input txt = "Hello, welcome to my world." x = txt.rfind("e") y = txt.rindex("e") print(x, y) # Output 13 13
مثال زیر آخرین رخداد حرف e را بین موقعیتهای 5 و 10 جستجو میکند.
# Input txt = "Hello, welcome to my world." x = txt.rfind("e", 5, 10) y = txt.rindex("e", 5, 10) print(x) # Output 8 8
متد rfind اگر مقدار وجود نداشته باشد 1- برمیگرداند ولی متد rindex در صورت عدم وجود مقدار یک استثناء (Exception) ایجاد میکند.
# Input txt = "Hello, welcome to my world." print(txt.rfind("q")) print(txt.rindex("q")) # Output -1 Traceback (most recent call last): File "demo_ref_string_rfind_vs_rindex.py", line 4 in <module> print(txt.rindex("q")) ValueError: substring not found
rjust
یک نسخه راستچین شده از رشته را با استفاده از یک کاراکتر خاص (فضای خالی پیشفرض است) و یک مقدار که به عنوان طول نهایی رشته به آن اختصاص داده میشود، برمیگرداند.
مثال زیر مقدار banana را در یک رشته به طول ۲۰ کاراکتر چپچین میکند. ۶ کاراکتر را banana اشغال میکند و ۱۴ کاراکتر باقیمانده با فضایخالی پر میشود.
# Input txt = "banana" x = txt.rjust(20) print(x, "is my favorite fruit.") # Output banana is my favorite fruit.
مثال زیر از کاراکتر O به جای فضای خالی برای پر کردن رشته استفاده میکند.
# Input txt = "banana" x = txt.rjust(20, "O") print(x) # Output OOOOOOOOOOOOOObanana
متد ljust مشابه rjust است با این تفاوت که یک نسخه چپچین شده از رشته را برمیگرداند.
rpartition
آخرین رخداد یک رشتهی مشخص شده را جستجو میکند و آن را در یک Tuple به سه عنصر تقسیم میکند. عنصر اول بخش قبل ازرشتهی مشخص شده ، عنصر دوم رشتهی مشخص شده و عنصر سوم بخش بعد از رشتهی مشخص شده میباشد.
دقت داشته باشید این متد اولین رخداد رشته مشخص را جستجو میکند.
مثال زیر آخرین رخداد کلمهی bananas را جستجو میکند و یک Tuple با سه عنصر برمیگرداند.
# Input txt = "I could eat bananas all day, bananas are my favorite fruit" x = txt.rpartition("bananas") print(x) # Output ('I could eat bananas all day, ', 'bananas', ' are my favorite fruit')
اگر مقدار مشخص شده وجود نداشته باشد یک Tupe که عنصر اول و دوم آن رشتهی خالی و عنصر سوم آن کل رشته میباشد برمیگرداند.
# Input txt = "I could eat bananas all day, bananas are my favorite fruit" x = txt.rpartition("apples") print(x) # Output ('', '', 'I could eat bananas all day, bananas are my favorite fruit')
rsplit
رشته را در یک List از سمت راست تقسیم میکند.
اگر پارامتر maxsplit مشخص نشود متد rsplit مانند متد split عمل میکند.
دقت داشته باشید ولی maxsplit مشخص شود List شامل تعداد مشخصی از عنصرها به علاوه یک است.
مثال زیر رشته را با جداکنندهی ( ,) به یک List تقسیم میکند.
# Input txt = "apple, banana, cherry" x = txt.rsplit(", ") print(x) # Output ['apple', 'banana', 'cherry']
مثال زیر رشته را به یک List با حداکثر دو عنصر تقسیم میکند.
# Input txt = "apple, banana, cherry" # setting the maxsplit parameter to 1, will return a list with 2 elements! x = txt.rsplit(", ", 2) print(x) # Output ['apple, banana', 'cherry']
rstrip
از سمت راست کاراکترهای مشخص شده را حذف میکند. (فضای خالی پیشفرض است.)
# Input txt = " banana " x = txt.rstrip() print("of all fruits", x, "is my favorite") # Output of all fruits banana is my favorite
# Input txt = "banana,,,,,ssqqqww....." x = txt.rstrip(",.qsw") print(x) # Output banana
متد lstrip مشابه rstrip است با این تفاوت که از سمت چپ کاراکترهای مشخص شده را حذف میکند.
splitlines
یک رشته را بر اساس شکست خط (Line Breaks) در یک List تقسیم میکند.
مثال زیر رشته را به List تقسیم میکند که هر خط آن یک عنصر از List است.
# Input txt = "Thank you for the music\nWelcome to the jungle" x = txt.splitlines() print(x) # Output ['Thank you for the music', 'Welcome to the jungle']
مثال زیر با پاسدادن مقدار True به متد splitlines رشته را بر اساس شکست خط تقسیم میکند ولی کاراکتر Escape شکست خط (n\) را نگهمیدارد.
# Input txt = "Thank you for the music\nWelcome to the jungle" x = txt.splitlines(True) print(x) # Output ['Thank you for the music\n', 'Welcome to the jungle']
نوشتهی کاراکترهای Escape در پایتون را مطالعه کنید.
startwith
اگر رشته با مقدار مشخص شده شروع شود True برمیگرداند.
مثال زیر بررسی میکند که آیا رشته با Hello شروع شده است یا خیر.
# Input txt = "Hello, welcome to my world." x = txt.startswith("Hello") print(x) # Output True
مثال زیر بررسی میکند که آیا موقعیتهای 7 تا 20 با کاراکترهای wel شروع شده است یا خیر.
# Input txt = "Hello, welcome to my world." x = txt.startswith("wel", 7, 20) print(x) # Output True
swapcase
حروف کوچک را به حروف بزرگ و حروف بزرگ را به حروف کوچک تبدیل میکند.
# Input txt = "Hello My Name Is PETER" x = txt.swapcase() print(x) # Output hELLO mY nAME iS peter
title
رشتهای را برمیگرداند که اولین کاراکتر در هر کلمه با حرف بزرگ باشد. مانند سرصفحه (Header) یا عنوان (Title).
اگر کلمه حاوی عدد یا نماد باشد اولین حرف بعد از آن به حرف بزرگ تبدیل میشود.
# Input txt = "Welcome to my world" x = txt.title() print(x) # Output Welcome To My World
zfill
مقدار صفر را در ابتدای رشته اضافه میکند تا به طول مشخص شده برسد.
اگر مقدار پارامتر len از طول رشته کمتر باشد، پرکردن با صفر انجام نمیشود.
مثال زیر رشتهها را با صفر پر میکند تا طول آنها ۱۰ کاراکتر شود.
# Input a = "hello" b = "welcome to the jungle" c = "10.000" print(a.zfill(10)) print(b.zfill(10)) print(c.zfill(10)) # Output 00000hello welcome to the jungle 000010.000
منابع
w3schools – Python String Methods
Photo by Christina Morillo from Pexels