জাভা contains() মেথড যাচায় একটি স্ট্রিং অন্য একটি সাবস্ট্রিং ধারণ করে কিনা। এই মেথড true বা false ফেরত দেয়। contains() এক প্যারামিটার গ্রহণ করে: যা খুঁজছেন সেটি সাবস্ট্রিং।
স্ট্রিং নিয়ে কাজ করার সময় আপনি প্রায়শই জানতে চান একটি স্ট্রিং নির্দিষ্ট ক্যারেক্টার সিকোয়েন্স ধারণ করে কিনা। উদাহরণস্বরূপ, একটি অ্যাপ তৈরি করছেন যা যাচায় ইউজারের ফোন নম্বরে US কান্ট্রি কোড আছে কিনা।
জাভা-তে স্ট্রিং একটি নির্দিষ্ট মান ধারণ করে কিনা যাচাই করার জন্য বিল্ট-ইন contains() মেথড রয়েছে। এই টিউটোরিয়ালে উদাহরণসহ আলোচনা করা হবে কীভাবে contains() মেথড ব্যবহার করে স্ট্রিংএ সাবস্ট্রিং আছে কিনা চেক করবেন।
জাভা স্ট্রিং
জাভা-তে স্ট্রিং টেক্সট-ভিত্তিক ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। স্ট্রিং হলো শূন্য বা অধিক ক্যারেক্টার সিকোয়েন্স যা অক্ষর, চিহ্ন, হোয়াইটস্পেস, এবং সংখ্যা অন্তর্ভুক্ত করতে পারে।
স্ট্রিং ডাবল কোটেশন مار্কের ভেতর ঘোষণা করা হয়। উদাহরণ:
String phone_number = "+1 000 000 0000";
এখানে phone_number ভেরিয়েবলে একটি স্ট্রিং মান সংরক্ষণ করা হয়েছে।
জাভা String contains()
জাভা স্ট্রিং ডেটা টাইপ অনেক মেথড অফার করে স্ট্রিং প্রসেস এবং ম্যানিপুলেট করার জন্য। contains() সেটির একটি, যা একটি স্ট্রিং নির্দিষ্ট ক্যারেক্টার সিকোয়েন্স ধারণ করে কিনা জানাতে সাহায্য করে।
contains() হলো একটি বিল্ট-ইন জাভা মেথড যা চেক করে একটি স্ট্রিং নির্দিষ্ট ক্যারেক্টার বা ক্যারেক্টার সিকোয়েন্স ধারণ করে কিনা। সিনট্যাক্স:
string_name.contains(substring);
contains() মেথড এক প্যারামিটার নেয়: আপনার স্ট্রিংএ যেটি খুঁজছেন সেটি সাবস্ট্রিং। এটি দুটি সম্ভাব্য মান ফেরত দেয়: সাবস্ট্রিং থাকলে true, নাইলে false।
একটি রেস্টোরেন্টের প্রোগ্রাম বিবেচনা করুন যা কাস্টমারের রিজারভেশন চেক করে। প্রোগ্রাম কাস্টমারের নাম এবং বুকিং নম্বর গ্রহণ করবে, এবং চেক করবে কাস্টমার যে সারনেম দিয়েছে সেটি রিজারভেশনের সাথে মিলে কিনা।
class CheckReservation {
public static void main(String[] args) {
String name_on_file = "Jeff Clinton";
String name_given_to_clerk = "Clinton";
if (name_on_file.contains(name_given_to_clerk)) {
System.out.println("This reservation is confirmed.");
} else {
System.out.println("This reservation does not exist.");
}
}
}
আউটপুট: This reservation is confirmed.
কোড ব্যাখ্যা:
name_on_file- কাস্টমার রিজার্ভেশন করার সময় দিয়েছে পুরো নাম।name_given_to_clerk- কাস্টমার ক্লার্ককে দিয়েছে সারনেম।contains()মেথড চেক করে ফাইলে থাকা নাম ক্লার্ককে দেওয়া সারনেম ধারণ করে কিনা। থাকলে "This reservation is confirmed." প্রিন্ট হয়, নাইলে "This reservation does not exist."।
কেস-ইনসেনসিটিভ contains()
contains() মেথড কেস-সেনসিটিভ। অর্থাৎ কন্টেন্ট মিললেও কেস মিল না হলে false ফেরত দেবে।
কেস-ইনসেনসিটিভ চেক করার জন্য toLowerCase() বা toUpperCase() মেথড ব্যবহার করে উভয় স্ট্রিংকে একই কেসে রূপান্তর করা যায়।
উদাহরণস্বরূপ, ক্লার্ক যদি সারনেম লোয়ারকেসে লিখে (clinton বদলে Clinton), তবে প্রোগ্রাম "This reservation does not exist." ফেরত দেবে। কিন্তু toLowerCase() ব্যবহার করলে:
class CheckReservation {
public static void main(String[] args) {
String name_on_file = "Jeff Clinton".toLowerCase();
String name_given_to_clerk = "clinton".toLowerCase();
if (name_on_file.contains(name_given_to_clerk)) {
System.out.println("This reservation is confirmed.");
} else {
System.out.println("This reservation does not exist.");
}
}
}
আউটপুট: This reservation is confirmed.
এখানে উভয় ভেরিয়েবল toLowerCase() দিয়ে লোয়ারকেসে রূপান্তরিত হয়েছে, ফলে সমান তুলনা সম্ভব হয়েছে। toUpperCase() মেথডও একইভাবে কাজ করে।
উপসংহার
জাভা-তে contains() মেথড একটি স্ট্রিং নির্দিষ্ট সাবস্ট্রিং ধারণ করে কিনা চেক করতে ব্যবহৃত হয়। এই টিউটোরিয়ালে contains() মেথডের ব্যবহার, উদাহরণ, এবং কেস-ইনসেনসিটিভ চেক করার পদ্ধতি আলোচনা করা হয়েছে। এখন আপনি জাভা String contains() মেথড এক্সপার্টের মতো ব্যবহার করতে পারবেন!