آشنایی با جستجوی رشته در جاوا اسکریپت
جستجوی رشتهها یکی از نیازهای متداول در توسعه نرمافزار است، که در جاوا اسکریپت به روشهای مختلفی میتوانید آن را انجام دهید. دانستن این روشها به شما کمک میکند تا بتوانید به راحتی بخشهای مورد نیاز از یک متن را پیدا و مدیریت کنید.
یکی از سادهترین راههای جستجوی رشته در جاوا اسکریپت استفاده از متد indexOf
است. این متد به سادگی اولین موقعیت وقوع یک زیررشته را در یک رشته بزرگتر پیدا میکند. اگر زیررشته مورد نظر یافت نشد، این متد مقدار -1
را برمیگرداند.
علاوه بر indexOf
، میتوانید از متد includes
نیز استفاده کنید. این تابع به ما میگوید که آیا یک زیررشته مشخص در رشته بزرگتر موجود است یا نه و یک مقدار true
یا false
برمیگرداند.
با پیشرفت در جاوا اسکریپت، نیاز به روشهای پیشرفتهتری هم داشتیم که متد search
یکی از اینهاست. این متد با استفاده از عبارات منظم (regular expressions) برای جستجوی پیشرفته رشتهها استفاده میشود که باعث میشود تطابقهای پیچیدهتر و دقیقتری را انجام دهید.
کد مثال برای جستجوی رشته
const text = 'JavaScript is a powerful language.';
const searchTerm = 'powerful';
// با استفاده از indexOf
const index = text.indexOf(searchTerm);
console.log('indexOf:', index);
// با استفاده از includes
const includes = text.includes(searchTerm);
console.log('includes:', includes);
// با استفاده از search و regex
const regex = /powerful/;
const searchResult = text.search(regex);
console.log('search:', searchResult);
توضیح خط به خط کد
const text = 'JavaScript is a powerful language.';
ایجاد یک رشته که حاوی متن مورد جستجو است.
const searchTerm = 'powerful';
زیررشتهای که به دنبال آن در متن اصلی هستیم.
const index = text.indexOf(searchTerm);
استفاده از متد indexOf برای یافتن اولین محل وقوع زیررشته و نگهداری آن در متغیر index.
console.log('indexOf:', index);
چاپ نتیجه جستجوی indexOf در کنسول.
const includes = text.includes(searchTerm);
بررسی موجودیت زیررشته با متد includes و نگهداری نتیجه در متغیر includes.
console.log('includes:', includes);
چاپ نتیجه بررسی includes در کنسول.
const regex = /powerful/;
ایجاد عبارت منظم برای جستجوی پیشرفته.
const searchResult = text.search(regex);
استفاده از متد search برای جستجو با عبارات منظم و نگهداری نتیجه در متغیر searchResult.
console.log('search:', searchResult);
چاپ نتیجه جستجوی search با regex در کنسول.