স্ট্রিং (Strings)

Strings

স্ট্রিং বলতে বুঝি যখন অনেকগুলো লেটার বা অক্ষর কে সিঙ্গেল কোটেশন '' বা ডাবল কোটেশন "" অথবা ট্রিপল কোটেশন ''' ''' এর রাখা হয় তখন সেটা একটা স্ট্রিং।

Inside Quotes

print('hello')            # এটা সিঙ্গেল কোটেশনের মধ্যে একটা স্ট্রিং  
print("I Love Python")    #  এটা ডাবল কোটেশনের মধ্যে একটা স্ট্রিং  
print('''Hello World''')  #  এটা ট্রিপল সিঙ্গেল কোটেশনের মধ্যে একটা স্ট্রিং  
print(""" Hello""")       #  এটা ট্রিপল ডাবল কোটেশনের মধ্যে একটা স্ট্রিং 

Quotes Inside Quotes

মনে করি আমাদের একটি স্ট্রিং আছে যার মধ্যে একটি শব্দ আছে doesn't(যার মধ্যে একটি সিঙ্গেল কোটেশন আছে অনেক সময় ডাবল কোটেশন ও থাকতে পারে ) .আমাদের স্ট্রিং এর শব্দটি যদি সিঙ্গেল কোটেশনে থাকে যেমন এখানে doesn't. তাহলে আমরা পুরো স্ট্রিংটি একটি ডাবল কোটেশনের মধ্যে রাখবো। আর যদি আমাদের স্ট্রিং এর শব্দটি যদি ডাবল কোটেশনে থাকে তাহলে সম্পূর্ণ স্ট্রিংটি সিঙ্গেল কোটেশনে রাখবো। আমরা যদি এই অনেক সময় স্ট্রিং এর মধ্যে সিঙ্গেল কোটেশন অথবা ডাবল কোটেশন থাকে। তাহলে কিভাবে স্ট্রিংটি লিখবো

print("We Don't Want War")     # স্ট্রিং এর মধ্যে সিঙ্গেল কোটেশন (') থাকলে স্ট্রিংকে ডাবল কোটেশনের মধ্যে রাখবো 
print('this is "-" a simbol')  # স্ট্রিং এর মধ্যে ডাবল কোটেশন (') থাকলে স্ট্রিংকে সিঙ্গেল কোটেশনের মধ্যে রাখবো 

Escape quotes

অনেক সময় একটা স্ট্রিং এর মধ্যে একাধিক সিঙ্গেল কোটেশন বা ডাবল কোটেশন যুক্ত শব্দ থাকতে পারে তখন ওই কোটেশন যাতে প্রোগ্রামে এরর সৃষ্টি না করতে পারে তখন ওই শব্দের কোটেশনের পূর্বে একটা ব্যাক স্ল্যাশ () যুক্ত করে দিলে প্রোগ্রামে আর এরর আসবে না।


print('it\'s a simple word')                # সিঙ্গেল কোটেশনের মধ্যে সিঙ্গেল কোটেশন যুক্ত স্ট্রিং  escape পদ্ধতি  
print ("your simbol \"- is a minus simbol") # ডাবল কোটেশনের মধ্যে ডাবল কোটেশন যুক্ত স্ট্রিং escape পদ্ধতি  

Multiline String

যদি আমরা স্ট্রিংকে সিঙ্গেল কোটেশন বা ডাবল কোটেশনের মধ্যে রেখে মাল্টি লাইন স্ট্রিং বানাই তখন পাইথন আমাদের এরর শো করবে। যদি মাল্টি লাইন স্ট্রিং বানাতেই হয় তাহলে স্ট্রিংকে থ্রী সিঙ্গেল কোটেশন অথবা থ্রী ডাবল কোটেশন এ রাখতে হবে।

#সিঙ্গেল কোটেশনে মাল্টি লাইন স্ট্রিং
a = '''Hi I Am Multi Line String 
In Single Quotes . '''  
#ডাবল কোটেশনে মাল্টি লাইন স্ট্রিং 
b = """"Hi I Am Multi Line String 
In Double Quotes ."""

Variable Inside String

অনেক সময় স্ট্রিং এর মধ্যে ভ্যারিয়েবল এর ভ্যালু প্রিন্ট এর দরকার হয় তখন স্ট্রিং এর স্টার্ট কোটেশনের পূর্বে f যুক্ত করে স্ট্রিং এর মধ্যে {ভ্যারিয়েবল} রাখতে হবে।

grade = 'A+'
print(f'Hi I Am Olee my cgpa is {grade}') # print স্টেটমেন্ট এ স্ট্রিং এর মধ্যে ভ্যারিয়েবল

a = 10
c= f"hello {a}" # ভ্যারিয়েবল এ স্ট্রিং এর মধ্যে ভ্যারিয়েবল 

format() ফাংশন ব্যবহার

অনেক সময় স্ট্রিং এর মধ্যে ভ্যারিয়েবল এর ভ্যালু প্রিন্ট এর দরকার হয় তখন স্ট্রিং এর মধ্যে {ভ্যারিয়েবল} রাখতে হবে। এবং format() ফাংশন ব্যবহার করতে হয়।

a = 20
b= 30
c= 10
print('amar {} sonar{} bangla{}'.format(a,b,c)) 

Concatenating String

বিভিন্ন পদ্ধতিতে (প্রায় সাতটি ) স্ট্রিং এর সাথে স্ট্রিং বা ভ্যারিয়েবল Concatenating বা যোগ করা যায় তার মধ্যে সহজ হলো + চিহ্ন বেবহার করে স্ট্রিং এর সাথে স্ট্রিং বা স্ট্রিং এর সাথে ভ্যারিয়েবল যোগ করে প্রোগ্রাম করা।


name = 'Olee Ahmmed'
country = "Bangladesh"
print('Your name Is '+name+'your Region Is '+ country) # + অপারেটর ব্যবহার করে স্ট্রিং এর সাথে ভ্যারিয়েবল যোগ করা 

Slicing স্ট্রিং Access Specific String Text

মনে করি আমার কাছে একটি name নামে ভ্যারিয়েবল স্ট্রিং আছে যার ভ্যালু 'I Love You ' এখন এই স্ট্রিং থেকে নির্দিষ্ট একটি অক্ষর লাগবে যেমন (v) যেটার ইনডেক্স নাম্বার ৪ তাহলে আমাদের name[ইনডেক্স নাম্বার ]এভাবে এক্সেস করতে হবে।

a = 'I Love You'
print(a[4]) # স্ট্রিং থেকে নির্দিষ্ট ক্যারেকটার বা অক্ষর এক্সেস নেয়া  
#আউটপুট আসবে v

আবার অনেক সময় মনে হবে love এই শব্দটা শুধু দরকার তখন স্ট্রিংকে স্লাইস বা কেটে নিতে হবে।


a = 'I Love You'
print(a[2:6]) # স্ট্রিং থেকে নির্দিষ্ট শব্দ স্লাইস বা কেটে নেওয়া 
#আউটপুট আসবে Love 

print(a[:6]) # যখন আমরা এভাবে লিখবো তখন প্রথম থেকে ৬ পর্যন্ত ক্যারেক্টার ধরবে যার কারণে প্রথম ৬ ক্যারেক্টার হিসাবে I Love প্রিন্ট করবে। 

print(a[1:]) # যখন আমরা এভাবে লিখবো তখন এক অক্ষর পর থেকে শেষ পর্যন্তক্যারেক্টার ধরবে যার কারণে প্রথম 
এক অক্ষর পর থেকে শেষ পর্যন্ত অক্ষর প্রিন্ট করবে   Love You 

String Uppercase,Lowercase

প্রয়োজনের তাগিদে স্ট্রিংকে অনেক সময় সব গুলো বড় হাতের অক্ষর অথবা সব গুলো ছোট হাতের অক্ষর শো করানো লাগতে পারে তখন স্ট্রিং ক্লাসের upper() এবং lower() মেথড ব্যবহার করতে হয়।

a = 'i loVe you' #normal String
print(a.upper()) # After Upper Output Will Be I LOVE YOU

b= "I hate You" #normal String
print(b.lower()) # After Upper Output Will Be i hate you

Remove White Space String Startpoint:End Point

স্ট্রিং এর শুরুতে এবং শেষে স্পেস থাকলে তা রিমুভ করতে ব্যবহার হয়

c= '   I kill  You    ' 
print(c.strip()) # Output Will Be {I kill  You}

Getting the length of a string

len() ফাংশন ব্যবহার করে স্ট্রিং এর মধ্যে কয়টি অক্ষর আছে তা জানতে পারি।

a = 'I Love You'
print(len(a))         # len() ফাংশন ব্যবহার করে স্ট্রিং এর মধ্যে কয়টি অক্ষর আছে তা জানা
print(len('hello'))  

Replace String Text

a = 'I Love You'
print(a.replace('Love', 'Hate'))  #Out Put I Hate You    

split স্ট্রিং

মনেকরি আমাদের একটি রচনা আছে যার প্রত্যেক লাইন। ফুলস্টপ (.) বা অন্য কোন চিহ্ন শেষ হয়েছে এখন আমরা প্রত্যেক লাইন কে ইনডেক্স আকারে ধরতে চাচ্ছি তাহলে স্ট্রিং এর প্রত্যেকটি ফুলস্টপ বা বিশেষ চিহ্ন যুক্ত লাইন কে স্প্লিট করে ধরতে হবে।


newspaper = 'A newspaper is a paper that carries news and opinions to us from home and abroad. We cannot imagine modern life without newspapers. In the morning, we eagerly wait for the newspaper. It is part and parcel of our day-to-day life.'

print(newspaper.split('.'))  # এটা করার ফলে স্ট্রিংকে লিস্ট আকারে স্প্লিট করবে যার দ্বারা list er ফাংশন ব্যবহার করে আমরা এই লিস্ট নিয়ে কাজ করতে পারবো 

#output Wil be Below
['A newspaper is a paper that carries news and opinions to us from home and abroad', ' We cannot imagine modern life without newspapers', ' In the morning, we eagerly wait for the newspaper', ' It is part and parcel of our day-to-day life', '']

#শুধুমাত্র প্রথম লাইন বা নির্দিষ্ট লাইন প্রিন্ট করতে এভাবে লাইন এর নাম্বার বা লিস্ট এর ইনডেক্স নাম্বার লিখবো। 
print(a[0])
#output Will Be
A newspaper is a paper that carries news and opinions to us from home and abroay

Last updated