نوشته‌های متدهای 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

نظر دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *