Skip to main content

npos And find function for searching a sub string into a string


আজকে আমরা মজার একটা জিনিশ সম্পর্কে জানবো !
সেটা হলো …
নাহ একটা না , ২টা জিনিশ সম্পর্কে জানবো ।
প্রথমে জানবো একটা স্ট্রিং এর ভেতরে আরেকটা সাবস্ট্রিং আছে কিনা সেটা কীভাবে জানে
আর পরে হলো জানবো একটা ইন্টিজার কন্সট্যান্ট সম্পর্কে ।

তো প্রথমে হলো , আমাদের বের করতে হবে একটা স্ট্রিং এর ভেতরে আরেকটা সাব স্ট্রিং আছে কিনা সেটা । খুব সহজেই আমরা তা বের করে ফেলতে পারি ! কীভাবে ? একটা ফাংশন আছে নাম হলো , ফাইন্ড ফাংশন । মনে করো আমাদের আলোচ্য স্ট্রিং হলো “ ABCD” তো আমরা এখান থেকে জানতে চাই এর মাঝে সাব স্ট্রিং “BC” আছে কিনা । তাহলে আমাদের সিম্পল একটা কাজ করতে হবে । মনে করি আমাদের এই স্ট্রিং টা আছে একটা ভেরিয়েবল এ । ব্যাপার টা হবে এমন ।

String word = “ABCD”;
If(word.find(“BC”))
{
Cout<<”YES”;
}
তাহলে জিনিশ টা বুঝা গেলো ? ফাইন্ড ফাংশন তখনই ট্রু রিটার্ন করবে যখন সে সাবস্ট্রিং কে খুঁজে পাবে আর সেই সাথে ইয়েস প্রিন্ট করবে !

আর এখন আমরা জানবো , ঐ ইন্টিজার কন্সট্যান্ট সম্পর্কে ।
আর এটা হলোঃ npos
এটা আমাদের জানায় ইম্পসিবল স্ট্রিং ইন্ডেক্স সম্পর্কে ।
মানে হলো আমরা যখন একটা স্ট্রিং এর ভেতর ইটারেশন চালাচ্ছি একটা সাবস্ট্রিং খুঁজতে তখন যদি কোনো ইরর ধরা পড়ে অথবা ঐ সাব স্ট্রিং টিকে খুঁজে না পাওয়া যায় তখন আমাদের কে সে ফলস রিটার্ন করে ।
আরেকটা কথা হলো , npos এর ফুল মিনিং হলো “no position”
যার মানে হলো আমরা যাকে খুজছি তার কোনো পজিশন নেই আমাদের মেইন স্ট্রিং এ !
এখন এই সব কিছুকে ভিত্তি করে আমরা একটা ইমপ্লিমেন্টেশন প্রোগ্রাম দেখবো চলো

Code Link