কম্পিউটার

পাইথন স্ট্রিংস - বেসিক স্ট্রিং অপারেশনের ওভারভিউ

স্ট্রিংগুলি পাইথনের মৌলিক ডেটা প্রকারগুলির মধ্যে একটি। পাইথন স্ট্রিংগুলি অক্ষর, অঙ্ক এবং অন্যান্য বিশেষ অক্ষর দিয়ে তৈরি যে কোনও সংখ্যক অক্ষরের সংমিশ্রণ। এই টিউটোরিয়ালে, আপনি শিখবেন কিভাবে বিভিন্ন পরিস্থিতিতে ব্যবহার করার জন্য সেগুলি তৈরি, ম্যানিপুলেট এবং ফরম্যাট করতে হয়।

পাইথনে নতুন স্ট্রিং তৈরি করুন

একটি নতুন পাইথন স্ট্রিং তৈরি করতে, আপনাকে শুধুমাত্র একক বা ডবল উদ্ধৃতি চিহ্ন দ্বারা আবদ্ধ অক্ষরগুলির একটি ক্রম ঘোষণা করতে হবে। ট্রিপল উদ্ধৃতি চিহ্নগুলি একাধিক-লাইন-লম্বা স্ট্রিংগুলির জন্যও ব্যবহৃত হয়।

double_quotes = "My name is John!"

single_quotes = 'My name is John!'

multi_line_string = '''1. My name is John!
                       2. I am a programmer'''

স্ট্রিং ইন্ডেক্সিং

পাইথন স্ট্রিং এর প্রতিটি অক্ষর একটি পূর্ণসংখ্যা সূচক আছে. ইনডেক্সিং প্রথম অক্ষর থেকে 0 থেকে শুরু হয় এবং স্ট্রিং বরাবর বৃদ্ধি পায়। নিচের উদাহরণের মত স্ট্রিং থেকে সেই অক্ষরটি পুনরুদ্ধার করতে আপনি একটি স্বতন্ত্র অক্ষরের সূচী ব্যবহার করতে পারেন।

myPet = "Dog not a cat"

myPet[0]  # 'D'
myPet[5]  # 'o'
myPet[7]  # ' '
myPet[12] # 't'
# myPet[15] # IndexError

চূড়ান্ত অক্ষরের সূচীর বাইরে একটি অক্ষর অ্যাক্সেস করার চেষ্টা করার ফলে একটি সূচী ত্রুটি হয় .

আপনি একটি নেতিবাচক সূচক ব্যবহার করে একটি স্ট্রিং একটি অক্ষর অ্যাক্সেস করতে পারেন. এই ক্ষেত্রে, ইন্ডেক্সিং স্ট্রিং এর চূড়ান্ত অক্ষর থেকে -1 থেকে শুরু হয় এবং আপনি পিছনে যাওয়ার সাথে সাথে নেতিবাচকভাবে বৃদ্ধি পায়।

myPet = "Dog not a cat"

myPet[-1] # 't'
myPet[-6] # ' '
myPet[-8] # 'o'
myPet[-13] # 'D'

স্ট্রিং স্লাইসিং

স্লাইসিং হল একটি স্ট্রিং থেকে একটি সাবস্ট্রিং (স্ট্রিংয়ের একটি অংশ) বের করার পদ্ধতি। এই কাজটি স্ট্রিং ইনডেক্সিংয়ের সাহায্যে করা হয়।

myPet = "Dog not a cat"

myPet[5:7] # 'ot'
myPet[1:12] # 'og not a ca'

এখানে, দুটি সূচক একটি কোলন দ্বারা পৃথক করা হয়েছে, প্রথম সূচকটি নির্দেশ করে কোথায় কাটা শুরু করতে হবে এবং দ্বিতীয় সূচকটি কোথায় থামতে হবে তা নির্দেশ করে। ফলস্বরূপ সাবস্ট্রিংটিতে প্রারম্ভিক সূচী থেকে শেষ সূচকের আগে অক্ষরগুলি অন্তর্ভুক্ত থাকে, শেষ সূচকের অক্ষরটি সাবস্ট্রিং-এ অন্তর্ভুক্ত নয়৷

আপনি যদি প্রারম্ভিক সূচী প্রদান না করেন, স্ট্রিং এর প্রথম অক্ষর থেকে স্লাইসিং শুরু হয়। আপনি যদি সমাপ্তি সূচী প্রদান না করেন, ফলিত সাবস্ট্রিংয়ে এটি অন্তর্ভুক্ত করার সময় স্লাইসিং চূড়ান্ত অক্ষরে শেষ হয়।

myPet = "Dog not a cat"

myPet[:7] # 'Dog not'
myPet[10:] # 'cat'
myPet[:] # 'Dog not a cat'

আপনি স্লাইসিং সূচক হিসাবে নেতিবাচক সূচকগুলিও প্রদান করতে পারেন।

myPet = "Dog not a cat"

myPet[10:-1] # 'ca'

একটি স্ট্রিংয়ের দৈর্ঘ্য

বিল্ট-ইন পাইথন পদ্ধতি len() একটি স্ট্রিং এর দৈর্ঘ্য আউটপুট করে।

myPet = "Dog not a cat"
len(myPet) # 13

একটি স্ট্রিংয়ের মাধ্যমে পুনরাবৃত্তি করুন

আপনি একটি for ব্যবহার করে একটি স্ট্রিংয়ের প্রতিটি অক্ষরের মাধ্যমে পুনরাবৃত্তি করতে পারেন লুপ।

উদাহরণ:

name = "John"
for char in name:
    print(char)
# 'J', 'o', 'h', 'n'

স্ট্রিং সংযোগ

একটি একক স্ট্রিং তৈরি করতে দুই বা ততোধিক স্ট্রিংকে যুক্ত করাকে স্ট্রিং কনক্যাটেনেশন বলে। পাইথনে, স্ট্রিংগুলিকে সংযুক্ত করার বিভিন্ন পদ্ধতি রয়েছে।

একজন + ব্যবহার করছে অপারেটর।

str1 = 'Hello'
str2 = 'World'
concat_str = str1 + str2 # 'HelloWorld'
concat_str = str1 + ' ' + str2 # 'Hello World'

আপনি * ব্যবহার করতে পারেন অপারেটর যে কোন সংখ্যক বার একটি স্ট্রিংকে নিজের সাথে সংযুক্ত করতে।

concat_str = str1*3 # 'HelloHelloHello'

স্ট্রিংগুলিকে সংযুক্ত করার আরেকটি উপায় হল join() এর মাধ্যমে পদ্ধতি।

অন্তর্নির্মিত join() পদ্ধতিটি একটি সাধারণ বিভাজক ব্যবহার করে স্ট্রিংগুলির একটি অ্যারেকে সংযুক্ত করতে ব্যবহৃত হয়৷

arr = [str1, str2]
concat_str = (' ').join(arr) # 'Hello World'
concat_str = (',').join(arr) # 'Hello,World'

উপরের কোডে, প্রথম join() পদ্ধতি অ্যারের প্রতিটি শব্দের মধ্যে একটি সাদা স্থান যোগ করে৷

দ্বিতীয় join() পদ্ধতি অ্যারের প্রতিটি শব্দের মধ্যে একটি কমা সন্নিবেশ করায়।

স্ট্রিং এবং Int-concatenation

পাইথনে, আমরা একটি স্ট্রিংকে একটি পূর্ণসংখ্যার সাথে সংযুক্ত করতে পারি কিন্তু + দিয়ে নয় অপারেটর. যদি আমরা নিম্নলিখিত কোড ব্যবহার করার চেষ্টা করি:

name = "John"
age = 35

print(a + b)

আমরা পাব:

Traceback (most recent call last):
  File "concat.py", line 5, in <module>
    print(a + b)
TypeError: can only concatenate str (not "int") to str
দ্রষ্টব্য:আপনি + ব্যবহার করে একটি স্ট্রিং এবং একটি পূর্ণসংখ্যা সংযুক্ত করতে পারবেন না অপারেটর.

এই ত্রুটি এড়াতে, আমরা str() ব্যবহার করতে পারি পূর্ণসংখ্যাকে স্ট্রিং-এ রূপান্তর করার পদ্ধতি, উদাহরণস্বরূপ:

name = "John "
age = "35"

print(a + str(b)) #John 35

কীভাবে একটি স্ট্রিং বিভক্ত করা যায়

অন্তর্নির্মিত split() পদ্ধতিটি একটি একক স্ট্রিংকে স্ট্রিংয়ের অ্যারেতে বিভক্ত করতে ব্যবহৃত হয়।

string = "My name is John"
split_arr = string.split(' ') # ['My', 'name', 'is', 'John']

We can also split a string using a separator:

string = "John, Rose, Jack, Mary"
split_arr = string.split(', ') # ['John', 'Rose', 'Jack', 'Mary']

স্ট্রিপ - সাদা স্থান সরান

strip() , বিল্ট-ইন স্ট্রিং পদ্ধতিটি একটি স্ট্রিংয়ের শুরু এবং শেষ থেকে সাদা স্থানগুলি সরাতে ব্যবহৃত হয়৷

string = "    Hello,    World    "
stripper_str = string.strip() # 'Hello,    World'

আপনি দেখতে পাচ্ছেন, strip() অন্য অক্ষরের মধ্যে থাকা সাদা স্পেসগুলিকে সরিয়ে দেয় না কিন্তু শুধুমাত্র দুই প্রান্তে।

strip() এর দুটি রূপ রয়েছে পদ্ধতি, বাম স্ট্রিপ এবং ডান স্ট্রিপ:

  • lstrip()
  • rstrip()

এই পদ্ধতিগুলি যথাক্রমে স্ট্রিংয়ের বাম দিকে এবং ডান দিকে সাদা স্থানগুলি সরিয়ে দেয়৷

উদাহরণ:

lsplit_str = string.lstrip() # 'Hello,    World    '
rsplit_str = string.rstrip() # '    Hello,    World'

ব্যবহারকারীর ইনপুট পড়ার সময় স্ট্রিপ পদ্ধতিগুলি বিশেষভাবে উপযোগী, যেখানে ব্যবহারকারীরা অতিরিক্ত সাদা স্থানগুলি পাস করতে পারে।

একটি স্ট্রিং ফর্ম্যাটিং

পাইথনের format() একটি স্ট্রিং ফর্ম্যাট করতে পদ্ধতি ব্যবহার করা হয়। কোঁকড়ানো বন্ধনী {} স্ট্রিংয়ের ভিতরে ব্যবহার করা হয় যে অংশটির জন্য একটি স্থানধারক হিসাবে ফর্ম্যাট করা প্রয়োজন যেটি format() এ প্রদত্ত আর্গুমেন্ট দ্বারা প্রতিস্থাপন করা প্রয়োজন পদ্ধতি।

উদাহরণ:

"Hello, {}".format('John') # 'Hello, John'

উপরের উদাহরণে {} ফরম্যাট করা স্ট্রিং-এ 'জন' দ্বারা প্রতিস্থাপিত হয়৷

আপনি ফরম্যাট করতে স্ট্রিংয়ের ভিতরে একাধিক কোঁকড়া ধনুর্বন্ধনী ব্যবহার করতে পারেন। সেগুলি format()-এ দেওয়া আর্গুমেন্ট দ্বারা প্রতিস্থাপিত হয় পদ্ধতি হয় প্রদত্ত ক্রমে (যদি কোঁকড়া ধনুর্বন্ধনীর ভিতরে কোন অবস্থানগত সূচক উল্লেখ না থাকে) অথবা অবস্থানগত ক্রম।

উদাহরণ:

"I have a {}, {}, and a {}".format('dog', 'cat', 'rabbit') # 'I have a dog, cat, and a rabbit'
"I have a {1}, {0}, and a {2}".format('dog', 'cat', 'rabbit') # 'I have a cat, dog, and a rabbit'

সূচক ব্যবহার করার পরিবর্তে, আপনি format()-এ কীওয়ার্ড আর্গুমেন্ট দিতে পারেন পদ্ধতি যাতে সেই কীওয়ার্ডগুলি কোঁকড়া ধনুর্বন্ধনীর ভিতরে ব্যবহার করা যায়।

উদাহরণ:

print("{friend} is my friend and {enemy} is my enemy".format(friend="John", enemy="Jack"))
# 'John is my friend and Jack is my enemy'

format() পদ্ধতিটি বেশ বহুমুখী কারণ এটি অনেক ব্যবহারের ক্ষেত্রে ব্যবহার করা যেতে পারে।

এখানে format() এর কিছু অন্যান্য অ্যাপ্লিকেশন রয়েছে পদ্ধতি:

arr = [3, 5]
'I have {0[0]} dogs and {0[1]} cats'.format(arr)
# 'I have 3 dogs and 4 cats'

#convert numbers to different bases
"int: {0:d};  hex: {0:x};  oct: {0:o};  bin: {0:b}".format(42)
# 'int: 42;  hex: 2a;  oct: 52;  bin: 101010'

একটি স্ট্রিংকে ছোট হাতের অক্ষরে রূপান্তর করুন

পাইথনের lower() ব্যবহার করা পদ্ধতি, আপনি একটি স্ট্রিংকে ছোট হাতের অক্ষরে রূপান্তর করতে পারেন।

উদাহরণ:

string = "Hello, World!"
string.lower() # 'hello, world!'

একটি স্ট্রিংকে বড় হাতের অক্ষরে রূপান্তর করুন

একইভাবে, Python এর upper() ব্যবহার করে পদ্ধতি, আপনি একটি স্ট্রিংকে বড় হাতের অক্ষরে রূপান্তর করতে পারেন।

উদাহরণ:

string = "Hello, World!"
string.upper() # 'HELLO, WORLD!'

উপসংহার

আমি আশা করি এই টিউটোরিয়ালটির সাহায্যে, আপনি এখন পাইথন স্ট্রিংগুলির সাথে পরিচিত এবং কীভাবে স্ট্রিং অপারেশনের জন্য বিভিন্ন পদ্ধতি ব্যবহার করতে হয়।

রেফারেন্স:পাইথনের স্ট্রিং ডকুমেন্টেশন


  1. একটি স্ট্রিং পাইথনে প্রদত্ত নামের টাইপ করা নাম কিনা তা পরীক্ষা করুন

  2. স্ট্রিং পরীক্ষা করার প্রোগ্রামটি পাইথনে স্ট্রিং পুনরাবৃত্তি করছে নাকি নয়

  3. পাইথন স্ট্রিং এর সর্বোচ্চ দৈর্ঘ্য কত?

  4. পাইথনে সবচেয়ে দক্ষ স্ট্রিং কনক্যাটেনেশন পদ্ধতি কি?