DEV Community

Cover image for পাইথন স্ট্রিং এবং টেক্সট ম্যানিপুলেশন
Shafi Rayhan
Shafi Rayhan

Posted on • Edited on

1 1

পাইথন স্ট্রিং এবং টেক্সট ম্যানিপুলেশন

ভূমিকা

পাইথন শেখার জার্নিতে আরেকটা মজার ধাপে এসে পড়েছি! আজ আমরা স্ট্রিং নিয়ে কথা বলব। স্ট্রিং মানে টেক্সট বা লেখা—যেমন নাম, বাক্য বা শব্দ। এই পোস্টে আপনি শিখবেন:

  • স্ট্রিং-এ ইনডেক্সিং, স্লাইসিং এবং ফরম্যাটিং।
  • বিল্ট-ইন স্ট্রিং মেথড—যেমন split(), replace(), strip()
  • স্ট্রিং জোড়া দেওয়া এবং f-স্ট্রিং।
  • একটা প্রজেক্ট যেখানে বাক্যে শব্দ গণনা করব।

স্ট্রিং শিখলে টেক্সট নিয়ে কাজ করা অনেক সহজ হয়ে যাবে। চলুন শুরু করি!


স্ট্রিং কী এবং কীভাবে কাজ করে?

স্ট্রিং হলো টেক্সটের একটা সিকোয়েন্স, যেটা "" বা '' দিয়ে লেখা হয়। উদাহরণ:

greeting = "হ্যালো, পাইথন!"
print(greeting)  # আউটপুট: হ্যালো, পাইথন!
Enter fullscreen mode Exit fullscreen mode

ইনডেক্সিং

স্ট্রিং-এর প্রতিটা অক্ষরের একটা ইনডেক্স (নম্বর) থাকে, শুরু হয় ০ থেকে। উদাহরণ:

text = "পাইথন"
print(text[0])  # আউটপুট: পা
print(text[2])  # আউটপুট: থ
Enter fullscreen mode Exit fullscreen mode

টিপ: উল্টো থেকে গণনা করতে নেগেটিভ ইনডেক্স ব্যবহার করা যায়:

print(text[-1])  # আউটপুট: ন
Enter fullscreen mode Exit fullscreen mode

স্লাইসিং

স্ট্রিং-এর একটা অংশ কাটতে স্লাইসিং ব্যবহার হয়। [start:end] ফরম্যাটে:

print(text[0:3])  # আউটপুট: পাইথ
print(text[3:])   # আউটপুট: ন
Enter fullscreen mode Exit fullscreen mode

ফরম্যাটিং

স্ট্রিং-এ তথ্য ঢোকাতে ফরম্যাটিং দরকার। দুইটা সহজ উপায়:

  1. জোড়া দেওয়া (+):
   name = "রাহিম"
   message = "হ্যালো, " + name + "!"
   print(message)  # আউটপুট: হ্যালো, রাহিম!
Enter fullscreen mode Exit fullscreen mode
  1. f-স্ট্রিং: f দিয়ে সরাসরি ভ্যারিয়েবল ব্যবহার।
   age = 20
   print(f"আমার বয়স {age} বছর।")  # আউটপুট: আমার বয়স 20 বছর।
Enter fullscreen mode Exit fullscreen mode

কেন f-স্ট্রিং ভালো? এটা পড়া সহজ এবং দ্রুত।


বিল্ট-ইন স্ট্রিং মেথড

পাইথনে স্ট্রিং নিয়ে কাজ করার জন্য অনেক মেথড আছে। কয়েকটা জনপ্রিয় দেখি:

split()

স্ট্রিং-কে ভাগ করে লিস্ট বানায়। উদাহরণ:

sentence = "আমি পাইথন শিখছি"
words = sentence.split()
print(words)  # আউটপুট: ['আমি', 'পাইথন', 'শিখছি']
Enter fullscreen mode Exit fullscreen mode
  • split(): স্পেস দিয়ে ভাগ করে।

replace()

একটা শব্দ বা অক্ষর বদলে দেয়:

text = "আমি পড়ি"
new_text = text.replace("পড়ি", "শিখি")
print(new_text)  # আউটপুট: আমি শিখি
Enter fullscreen mode Exit fullscreen mode

strip()

অতিরিক্ত স্পেস মুছে ফেলে:

text = "  হ্যালো   "
clean_text = text.strip()
print(clean_text)  # আউটপুট: হ্যালো
Enter fullscreen mode Exit fullscreen mode

অন্যান্য মেথড:

  • upper(): সব বড় হাতের করে।
  • lower(): সব ছোট হাতের করে।
  • count(): কোনো শব্দ বা অক্ষর কতবার আছে গণনা করে।

স্ট্রিং জোড়া দেওয়া এবং ব্যবহার

স্ট্রিং জোড়া (+)

দুটো স্ট্রিং একসাথে জোড়া দেওয়া যায়:

part1 = "পাইথন"
part2 = "শেখা মজার"
full = part1 + " " + part2
print(full)  # আউটপুট: পাইথন শেখা মজার
Enter fullscreen mode Exit fullscreen mode

f-স্ট্রিং দিয়ে স্মার্ট কাজ

f-স্ট্রিং দিয়ে সরাসরি ভ্যারিয়েবল ব্যবহার করা যায়:

name = "রিয়া"
age = 15
print(f"{name} এর বয়স {age} বছর।")  # আউটপুট: রিয়া এর বয়স 15 বছর।
Enter fullscreen mode Exit fullscreen mode

কেন দরকার? টেক্সট আর ভ্যারিয়েবল একসাথে সহজে দেখাতে।


প্রজেক্ট: শব্দ গণনা প্রোগ্রাম

চলুন একটা প্রোগ্রাম বানাই যেটা বাক্যে প্রতিটা শব্দ কতবার আছে গণনা করবে।

ধাপগুলো:

  1. নতুন ফাইল বানান, নাম দিন word_counter.py
  2. এই কোড লিখুন:
   # ব্যবহারকারীর কাছ থেকে বাক্য নেওয়া
   sentence = input("একটা বাক্য লিখুন: ")

   # শব্দে ভাগ করা
   words = sentence.split()

   # শব্দ গণনার জন্য ডিকশনারি
   word_count = {}

   # প্রতিটা শব্দ গণনা
   for word in words:
       if word in word_count:
           word_count[word] += 1
       else:
           word_count[word] = 1

   # ফলাফল দেখানো
   print("\nশব্দ গণনা:")
   for word, count in word_count.items():
       print(f"{word}: {count} বার")
Enter fullscreen mode Exit fullscreen mode
  1. টার্মিনালে চালান:
   python word_counter.py
Enter fullscreen mode Exit fullscreen mode
  1. আউটপুট দেখুন:
   একটা বাক্য লিখুন: আমি পাইথন শিখছি আমি মজা পাচ্ছি
   শব্দ গণনা:
   আমি: 2 বার
   পাইথন: 1 বার
   শিখছি: 1 বার
   মজা: 1 বার
   পাচ্ছি: 1 বার
Enter fullscreen mode Exit fullscreen mode

কোড ব্যাখ্যা:

  • split(): বাক্যকে শব্দে ভাগ করে।
  • word_count: ডিকশনারিতে শব্দ আর গণনা রাখে।
  • for word in words: প্রতিটা শব্দ চেক করে গণনা বাড়ায়।
  • items(): ডিকশনারির কী-ভ্যালু জোড়া প্রিন্ট করে।

এই প্রজেক্টে স্ট্রিং আর ডিকশনারির মজা বোঝা যায়।


হোমওয়ার্ক: টাইটেল কেস ফরম্যাটার

আপনার কাজ হলো একটা প্রোগ্রাম লেখা যেটা ব্যবহারকারীর দেওয়া টেক্সটকে টাইটেল কেসে (প্রতিটা শব্দের প্রথম অক্ষর বড়) ফরম্যাট করবে।

ধাপগুলো:

  1. ফাইল বানান, নাম দিন title_formatter.py
  2. এই কোড লিখুন:
   # ব্যবহারকারীর কাছ থেকে টেক্সট নেওয়া
   text = input("একটা বাক্য লিখুন: ")

   # টাইটেল কেসে রূপান্তর
   title_text = text.title()

   # ফলাফল দেখানো
   print("টাইটেল কেসে:", title_text)
Enter fullscreen mode Exit fullscreen mode
  1. চালান:
   python title_formatter.py
Enter fullscreen mode Exit fullscreen mode
  1. উদাহরণ:
   একটা বাক্য লিখুন: আমি পাইথন শিখছি
   টাইটেল কেসে: আমি পাইথন শিখছি
Enter fullscreen mode Exit fullscreen mode

কোড ব্যাখ্যা:

  • title(): প্রতিটা শব্দের প্রথম অক্ষর বড় করে।
  • দ্রষ্টব্য: বাংলায় title() সবসময় প্রত্যাশিত ফলাফল নাও দিতে পারে। ইংরেজিতে এটা ভালো কাজ করে (যেমন "i learn python" → "I Learn Python")।

চ্যালেঞ্জ: বাংলায় শব্দ আলাদা করে নিজে টাইটেল কেস বানাতে চেষ্টা করতে পারেন।


উপসংহার

আজ আমরা শিখলাম:

  • স্ট্রিং-এ ইনডেক্সিং, স্লাইসিং এবং ফরম্যাটিং।
  • split(), replace(), strip()-এর মতো মেথড।
  • স্ট্রিং জোড়া এবং f-স্ট্রিং।
  • শব্দ গণনা প্রোগ্রাম।

স্ট্রিং শিখে আপনি টেক্সট নিয়ে অনেক কিছু করতে পারবেন। প্রজেক্ট আর হোমওয়ার্ক চেষ্টা করুন। কমেন্টে বলুন কেমন লাগলো বা কোথায় সমস্যা হয়েছে। আপনি দারুণ করছেন, এগিয়ে যান!

প্রশ্ন:

  1. স্ট্রিং মেথডগুলো কি বোঝা সহজ লেগেছে?
  2. শব্দ গণনা প্রোগ্রামে কি কিছু যোগ করতে চান?
  3. f-স্ট্রিং কি আপনার কোড লেখা সহজ করেছে?

Top comments (0)

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay