Web Development - জাভাস্ক্রিপ্ট (JavaScript) জাভাস্ক্রিপ্ট স্ট্রিং এবং অ্যারে (JS String & Array) |
368
368

জাভাস্ক্রিপ্টে স্ট্রিং সার্চ হল এমন একটি প্রক্রিয়া যা নির্দিষ্ট সাবস্ট্রিং বা প্যাটার্ন খুঁজে বের করতে ব্যবহৃত হয় একটি বড় স্ট্রিং-এর মধ্যে। স্ট্রিং সার্চের বিভিন্ন পদ্ধতি এবং মেথড রয়েছে, যা ডেভেলপারদের তাদের কোডে আরও কার্যকরী এবং দক্ষতার সাথে স্ট্রিং ম্যানিপুলেট করতে সহায়তা করে। নিচে আমরা জাভাস্ক্রিপ্টের বিভিন্ন স্ট্রিং সার্চ মেথড সম্পর্কে আলোচনা করবো।


indexOf() মেথড

indexOf() মেথডটি একটি স্ট্রিংয়ের মধ্যে নির্দিষ্ট সাবস্ট্রিং খুঁজে এবং এর প্রথম উপস্থিতির সূচক (ইন্ডেক্স) রিটার্ন করে। যদি সাবস্ট্রিং পাওয়া না যায়, তবে এটি -1 রিটার্ন করে।

সিনট্যাক্স:

string.indexOf(searchValue, startIndex)
  • searchValue: খুঁজতে ইচ্ছুক সাবস্ট্রিং।
  • startIndex (ঐচ্ছিক): সার্চ শুরু করার সূচক।

উদাহরণ:

let text = "Hello, welcome to the world of JavaScript.";
let position = text.indexOf("welcome");
console.log(position);  // আউটপুট: 7

let notFound = text.indexOf("Python");
console.log(notFound);  // আউটপুট: -1

lastIndexOf() মেথড

lastIndexOf() মেথডটি স্ট্রিংয়ের মধ্যে নির্দিষ্ট সাবস্ট্রিংয়ের সর্বশেষ উপস্থিতির সূচক রিটার্ন করে। যদি সাবস্ট্রিং পাওয়া না যায়, তবে এটি -1 রিটার্ন করে।

সিনট্যাক্স:

string.lastIndexOf(searchValue, startIndex)
  • searchValue: খুঁজতে ইচ্ছুক সাবস্ট্রিং।
  • startIndex (ঐচ্ছিক): সার্চ শেষ করার সূচক।

উদাহরণ:

let text = "Hello, welcome to the world of JavaScript. Welcome again!";
let position = text.lastIndexOf("Welcome");
console.log(position);  // আউটপুট: 39

let notFound = text.lastIndexOf("Python");
console.log(notFound);  // আউটপুট: -1

includes() মেথড

includes() মেথডটি চেক করে একটি স্ট্রিংয়ের মধ্যে নির্দিষ্ট সাবস্ট্রিং উপস্থিত আছে কিনা। এটি একটি বুলিয়ান মান (true বা false) রিটার্ন করে।

সিনট্যাক্স:

string.includes(searchValue, startIndex)
  • searchValue: খুঁজতে ইচ্ছুক সাবস্ট্রিং।
  • startIndex (ঐচ্ছিক): সার্চ শুরু করার সূচক।

উদাহরণ:

let text = "Hello, welcome to the world of JavaScript.";
let hasWelcome = text.includes("welcome");
console.log(hasWelcome);  // আউটপুট: true

let hasPython = text.includes("Python");
console.log(hasPython);  // আউটপুট: false

startsWith() মেথড

startsWith() মেথডটি চেক করে একটি স্ট্রিং নির্দিষ্ট সাবস্ট্রিং দিয়ে শুরু হয় কিনা। এটি একটি বুলিয়ান মান রিটার্ন করে।

সিনট্যাক্স:

string.startsWith(searchValue, startIndex)
  • searchValue: খুঁজতে ইচ্ছুক সাবস্ট্রিং।
  • startIndex (ঐচ্ছিক): স্ট্রিংয়ের কোন সূচক থেকে শুরু হবে।

উদাহরণ:

let text = "Hello, welcome to the world of JavaScript.";
let starts = text.startsWith("Hello");
console.log(starts);  // আউটপুট: true

let notStarts = text.startsWith("welcome");
console.log(notStarts);  // আউটপুট: false

endsWith() মেথড

endsWith() মেথডটি চেক করে একটি স্ট্রিং নির্দিষ্ট সাবস্ট্রিং দিয়ে শেষ হয় কিনা। এটি একটি বুলিয়ান মান রিটার্ন করে।

সিনট্যাক্স:

string.endsWith(searchValue, length)
  • searchValue: খুঁজতে ইচ্ছুক সাবস্ট্রিং।
  • length (ঐচ্ছিক): স্ট্রিংয়ের কোন সূচক পর্যন্ত পরীক্ষা করা হবে।

উদাহরণ:

let text = "Hello, welcome to the world of JavaScript.";
let ends = text.endsWith("JavaScript.");
console.log(ends);  // আউটপুট: true

let notEnds = text.endsWith("welcome");
console.log(notEnds);  // আউটপুট: false

search() মেথড

search() মেথডটি একটি প্যাটার্ন (রেগুলার এক্সপ্রেশন) ব্যবহার করে স্ট্রিংয়ের মধ্যে খুঁজে এবং এর প্রথম ম্যাচের সূচক রিটার্ন করে। এটি indexOf() এর মতই কাজ করে তবে রেগুলার এক্সপ্রেশন সমর্থন করে।

সিনট্যাক্স:

string.search(regexp)
  • regexp: খুঁজতে ইচ্ছুক রেগুলার এক্সপ্রেশন।

উদাহরণ:

let text = "Hello, welcome to the world of JavaScript.";
let position = text.search(/world/i);
console.log(position);  // আউটপুট: 21

let notFound = text.search(/Python/i);
console.log(notFound);  // আউটপুট: -1

match() মেথড

match() মেথডটি একটি স্ট্রিংয়ের মধ্যে নির্দিষ্ট প্যাটার্নের সমস্ত ম্যাচ খুঁজে এবং একটি অ্যারে রিটার্ন করে। যদি কোন ম্যাচ না পাওয়া যায়, তবে এটি null রিটার্ন করে।

সিনট্যাক্স:

string.match(regexp)
  • regexp: খুঁজতে ইচ্ছুক রেগুলার এক্সপ্রেশন।

উদাহরণ:

let text = "The rain in SPAIN stays mainly in the plain.";
let matches = text.match(/ain/gi);
console.log(matches);  // আউটপুট: ["ain", "AIN", "ain", "ain"]

let noMatch = text.match(/Python/gi);
console.log(noMatch);  // আউটপুট: null

রেগুলার এক্সপ্রেশন (Regular Expressions) ব্যবহার করে স্ট্রিং সার্চ

রেগুলার এক্সপ্রেশন (RegEx) একটি শক্তিশালী টুল যা জটিল প্যাটার্ন ম্যাচিং এবং স্ট্রিং ম্যানিপুলেশনের জন্য ব্যবহৃত হয়। এটি বিভিন্ন স্ট্রিং সার্চ মেথডের সাথে ব্যবহার করা যেতে পারে যেমন search(), match(), replace(), ইত্যাদি।

উদাহরণ:

let text = "The quick brown fox jumps over the lazy dog.";
// সমস্ত 'o' খুঁজে বের করা
let matches = text.match(/o/g);
console.log(matches);  // আউটপুট: ["o", "o", "o"]

// কোনো শব্দ দিয়ে শুরু হচ্ছে কিনা চেক করা
let startsWithT = /^The/.test(text);
console.log(startsWithT);  // আউটপুট: true

// সংখ্যার খোঁজ
let numbers = "There are 15 cats and 30 dogs.";
let foundNumbers = numbers.match(/\d+/g);
console.log(foundNumbers);  // আউটপুট: ["15", "30"]

replace() মেথড

replace() মেথডটি একটি স্ট্রিংয়ের নির্দিষ্ট অংশকে অন্য কিছু দিয়ে প্রতিস্থাপন করে। এটি স্ট্রিং সার্চের সাথে সন্নিবেশিত হতে পারে।

সিনট্যাক্স:

string.replace(searchValue, newValue)
  • searchValue: খুঁজতে ইচ্ছুক সাবস্ট্রিং বা রেগুলার এক্সপ্রেশন।
  • newValue: প্রতিস্থাপিত মান।

উদাহরণ:

let text = "Hello, welcome to the world of JavaScript.";
let newText = text.replace("JavaScript", "Programming");
console.log(newText);  // আউটপুট: Hello, welcome to the world of Programming.

রেগুলার এক্সপ্রেশন ব্যবহার করে সব মিল খুঁজে প্রতিস্থাপন করা:

let text = "The rain in SPAIN stays mainly in the plain.";
let newText = text.replace(/ain/gi, "XXX");
console.log(newText);  // আউটপুট: The rXXX in SPXXX stays mXXXly in the plXXX.

স্ট্রিং সার্চের মধ্যে ক্যাস সেনসিটিভিটি

স্ট্রিং সার্চে ক্যাস সেনসিটিভিটি (Case Sensitivity) গুরুত্বপূর্ণ একটি বিষয়। কিছু মেথড যেমন indexOf(), lastIndexOf(), includes(), startsWith(), এবং endsWith() ক্যাস সেনসিটিভ হয়, অর্থাৎ তারা বড় হাতের অক্ষর এবং ছোট হাতের অক্ষরকে আলাদা করে।

উদাহরণ:

let text = "JavaScript is amazing!";
console.log(text.includes("javascript"));  // আউটপুট: false
console.log(text.includes("JavaScript"));  // আউটপুট: true

ক্যাস ইনসেনসিটিভ সার্চের জন্য রেগুলার এক্সপ্রেশন ব্যবহার করা যেতে পারে:

let text = "JavaScript is amazing!";
let hasJavaScript = /javascript/i.test(text);
console.log(hasJavaScript);  // আউটপুট: true

সারাংশ

জাভাস্ক্রিপ্টে স্ট্রিং সার্চের বিভিন্ন মেথড এবং পদ্ধতি রয়েছে, যা ডেভেলপারদের স্ট্রিং ম্যানিপুলেশন এবং ডেটা খোঁজার কাজকে সহজ করে। indexOf(), lastIndexOf(), includes(), startsWith(), endsWith(), search(), এবং match() মেথডগুলির সাহায্যে বিভিন্ন ধরণের স্ট্রিং সার্চ করা সম্ভব। রেগুলার এক্সপ্রেশন ব্যবহার করে আরও জটিল প্যাটার্ন ম্যাচিং এবং সার্চ করা যায়। স্ট্রিং সার্চের সময় ক্যাস সেনসিটিভিটি এবং মেথডের বৈশিষ্ট্যগুলি বুঝে ব্যবহার করা অত্যন্ত গুরুত্বপূর্ণ, যাতে সঠিক ফলাফল পাওয়া যায় এবং কোডের কার্যকারিতা বৃদ্ধি পায়।


অতিরিক্ত টিপস

  • রেগুলার এক্সপ্রেশন শেখা: রেগুলার এক্সপ্রেশন একটি শক্তিশালী টুল, যা জাভাস্ক্রিপ্টে স্ট্রিং সার্চ এবং ম্যানিপুলেশনের কাজকে আরও কার্যকর করে তোলে। এটি শেখার জন্য সময় ব্যয় করুন এবং বিভিন্ন প্যাটার্ন তৈরি করে অনুশীলন করুন।
  • স্ট্রিং মেথড কম্বিনেশন: বিভিন্ন স্ট্রিং মেথড একসাথে ব্যবহার করে আরও জটিল সার্চ এবং ম্যানিপুলেশন করতে পারেন। উদাহরণস্বরূপ, split() এবং filter() মেথড ব্যবহার করে নির্দিষ্ট অংশগুলি আলাদা করে নিন।
  • ক্যাস সেনসিটিভিটি মনিটর করা: সার্চের সময় ক্যাস সেনসিটিভিটি লক্ষ্য করুন এবং প্রয়োজনে রেগুলার এক্সপ্রেশন ব্যবহার করে ক্যাস ইনসেনসিটিভ সার্চ করুন।

স্ট্রিং সার্চের দক্ষতা বৃদ্ধি করলে আপনার জাভাস্ক্রিপ্ট প্রোগ্রামিং দক্ষতাও বৃদ্ধি পাবে, যা আরও কার্যকর এবং নির্ভরযোগ্য কোড লেখার ক্ষেত্রে সহায়ক হবে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion