برش های خط

در پایتون، می توانید بخشی از یک رشته (زیر رشته) را انتخاب کنید. برای این کار از عملیات به دست آوردن یک برش (از انگلیسی slicing) استفاده کنید
نمای کلی عملیات برش به صورت زیر است <پیش> s[start:stop:step] این دستور یک برش از رشته s می گیرد که از کاراکتر در نمایه start تا کاراکتر در فهرست stop (بدون شامل آن) با مرحله مرحله (اگر مشخص نشده است مرحله 1 است)
ممکن است هر بخشی در پرانتز وجود نداشته باشد.
مثلا، <پیش> s1 = s[3:8] به این معنی که کاراکترهای 3 تا 7 با مرحله 1 در رشته s1 از رشته s کپی می شوند.
می توانید شاخص های منفی بگیرید، سپس شمارش از انتهای رشته است. <پیش> s = "0123456789" s1 = s[-7:-2] # s1="34567" اگر start مشخص نشده باشد، برابر با صفر در نظر گرفته می شود (یعنی آن را از ابتدای رشته می گیریم). اگر توقف مشخص نشده باشد، برش تا انتهای رشته گرفته می شود. <پیش> s = "0123456789" s1 = s[:4] # s1="0123" s2 = s[-4:] # s2 = "6789" به این صورت است که می توان یک رشته را معکوس کرد: <پیش> s = "0123456789" s1 = s[::-1] # s1="9876543210" همه کاراکترهای رشته با افزایش -1 تکرار می شوند، به این معنی که کاراکترها از آخر تکرار می شوند. کل ردیف درگیر است زیرا شاخص های شروع و پایان مشخص نشده اند.

حذف و جایگذاری

برای حذف بخشی از یک رشته، باید با ترکیب قسمت های رشته اصلی قبل و بعد از قسمتی که قرار است حذف شود، یک رشته جدید بسازید. <پیش> s = "0123456789" s1 = s[:3]+s[9:] # s1="0129" با استفاده از برش ها و الحاق رشته ها، می توانید یک رشته فرعی را در داخل یک رشته قرار دهید. <پیش> s = "0123456789" s1 = s[:3]+"ABC"+s[3:] # s1="012ABC3456789"

روش های دستکاری رشته

پایتون روش‌های زیادی (توابع خارج از جعبه) برای کار با رشته‌ها دارد.  بسیاری از آنها با استفاده از علامت نقطه نامیده می شوند و روش نامیده می شوند. فهرست کاملی از روش های دستکاری رشته را می توان به صورت آنلاین پیدا کرد. 
بیایید با برخی از آنها آشنا شویم. s = "aAbBcC" sUp = s.upper() # sUp = "AABCC" - روشی که ترجمه می کند   # هر کاراکتر رشته را با حروف بزرگ بنویسید sLow = s.lower() # sLow = "aabbcc" - روشی که ترجمه می کند   #هر کاراکتر رشته را کوچک کنید در سمت چپ نقطه، نام رشته (یا خود رشته در گیومه) قرار دارد که روش باید روی آن اعمال شود، و در سمت راست نقطه، نام روش وجود دارد. روش همیشه با پرانتز نوشته می شود. در صورت نیاز هر پارامتری در داخل براکت ها وجود دارد.

قبلاً از روش کار با رشته‌ها استفاده می‌کردیم که داده‌ها را با فرمت خاصی روی صفحه نمایش می‌دادیم - روش format() a = 4 b = 5 print("{}+{}={}".format(a,b,a+b)) # 4+5=9 روش مفید دیگر  isdigit() روشی برای بررسی اینکه آیا همه کاراکترهای یک رشته رقمی هستند یا خیر، یک مقدار بولی (درست یا نادرست) برمی گرداند. s = "ab1c" print(s.isdigit()) #False s = "123" print(s.isdigit()) #True روش مفید strip() به شما این امکان را می دهد که فاصله های ابتدا و انتهای رشته را حذف کنید. s = " ab 1c " print('s=', s.strip()) # s=ab 1c

جستجو در خط

برای جستجو در یک رشته در پایتون، از روش find() استفاده کنید.
این دارای سه شکل است و شاخص اولین وقوع رشته فرعی را در رشته برمی گرداند:
1)  find(str) - رشته فرعی str از ابتدای رشته تا انتهای آن جستجو می شود؛
2) find(str, start) - با استفاده از پارامتر start ، شاخص شروع تنظیم می شود و از آن جستجو است که انجام می شود؛< br /> 3) find(str, start, end) - با استفاده از پارامتر end ، نمایه پایان تنظیم می شود، جستجو قبل از آن انجام می شود.

وقتی رشته فرعی پیدا نشد، متد -1 را برمی گرداند:

خوش آمدید = "سلام دنیا! خداحافظ دنیا!" index = welcome.find("wor") print(index) #6 # از 10 تا 15 ایندکس را جستجو کنید index = welcome.find("wor", 10, 15) چاپ (شاخص) # -1 می توانید از انتهای رشته جستجو کنید. برای این کار، از روش rfind() (از انگلیسی reverse find) استفاده می شود - ایندکس آخرین وقوع یک رشته فرعی در یک رشته را برمی گرداند.
 
توجه: روش‌های داده به دنبال تعداد رخدادها نباشید، بلکه فقط تعیین کنید که آیا چنین زیررشته‌ای در رشته وجود دارد یا خیر.

جایگزینی رشته های فرعی در یک رشته

در پایتون، برای جایگزینی یک زیررشته با دیگری در یک رشته، از روش replace() استفاده کنید: 
replace(قدیمی، جدید) - رشته فرعی قدیمی با جدید جایگزین شده است؛
جایگزینی (قدیمی، جدید، عددی) - پارامتر num نشان می‌دهد که چه تعداد تکرار رشته فرعی قدیمی با جدید >.

 

مثال
تلفن = "+1-234-567-89-10" # خط تیره به فاصله تغییر می کند edited_phone = phone.replace("-", " ") چاپ (تلفن_ویرایش شده) # +1 234 567 89 10 # خط فاصله حذف شده است edited_phone = phone.replace("-", "") چاپ (تلفن_ویرایش) #12345678910 # فقط خط اول تغییر می کند edited_phone = phone.replace("-", "", 1) چاپ (تلفن_ویرایش شده) # 1234-567-89-10