JavaScript – جستجوی رشته‌ها (String Search)

در جاوااسکریپت، متدهای متعددی برای جستجو در رشته‌ها و یافتن مقادیر وجود دارد. این متدها کاربردهای مختلفی دارند، از پیدا کردن موقعیت یک عبارت گرفته تا بررسی وجود یک مقدار خاص در رشته.

متد indexOf()

  • این متد موقعیت اولین وقوع یک رشته در رشته اصلی را برمی‌گرداند.
  • اگر مقدار یافت نشد، مقدار -1 باز می‌گردد.
let text = "Please locate where 'locate' occurs!";
let index = text.indexOf("locate"); // خروجی: 7

نکته:

  • شمارش موقعیت‌ها از صفر آغاز می‌شود.
  • امکان مشخص کردن نقطه شروع جستجو با پارامتر دوم وجود دارد:
let index = text.indexOf("locate", 15); // جستجو از موقعیت 15

متد lastIndexOf()

  • این متد موقعیت آخرین وقوع یک عبارت را برمی‌گرداند.
  • اگر مقدار یافت نشد، مقدار -1 باز می‌گردد.
let text = "Please locate where 'locate' occurs!";
let index = text.lastIndexOf("locate"); // خروجی: 21

نکته:

  • می‌توانید نقطه شروع جستجو (برعکس از انتهای رشته) را با پارامتر دوم مشخص کنید:
text.lastIndexOf("locate", 15); // جستجو از موقعیت 15 به سمت ابتدا

متد search()

  • برای یافتن موقعیت اولین وقوع یک عبارت یا یک الگوی Regular Expression استفاده می‌شود.
  • بر خلاف indexOf()، نمی‌تواند پارامتر دوم (نقطه شروع) بگیرد.
let text = "Please locate where 'locate' occurs!";
let index = text.search("locate"); // خروجی: 7

تفاوت search() و indexOf():

  • search() از عبارات با قاعده (Regular Expressions) پشتیبانی می‌کند.
  • indexOf() نمی‌تواند از عبارات با قاعده استفاده کند.
text.search(/locate/); // خروجی: 7

متد match()

  • این متد نتایج جستجو با یک عبارت یا الگوی Regular Expression را به صورت آرایه بازمی‌گرداند.
  • اگر مقدار یافت نشود، مقدار null باز می‌گردد.
let text = "The rain in SPAIN stays mainly in the plain";
let result = text.match("ain"); // خروجی: ["ain"]

جستجوی گلوبال (global):

  • برای جستجوی همه وقوع‌ها از g استفاده کنید:
text.match(/ain/g); // خروجی: ["ain", "ain", "ain"]

جستجوی حساس به حروف کوچک و بزرگ:

  • از i برای غیرفعال کردن حساسیت استفاده کنید:
text.match(/ain/gi); // خروجی: ["ain", "AIN", "ain"]

متد matchAll()

  • این متد یک Iterator از نتایج جستجو برمی‌گرداند.
  • در صورت استفاده از Regular Expression، باید g فعال باشد.
const text = "Cats are great. Cats are lovely.";
const iterator = text.matchAll(/Cats/g);
for (const match of iterator) {
  console.log(match); // هر مطابقت را نمایش می‌دهد
}

نکات:

  • این متد در ES2020 معرفی شده است.
  • در Internet Explorer پشتیبانی نمی‌شود.

متد includes()

  • بررسی می‌کند که آیا رشته شامل مقدار مشخصی هست یا نه.
  • نتیجه true یا false بازمی‌گرداند.
let text = "Hello world, welcome to the universe.";
text.includes("world"); // خروجی: true
text.includes("World"); // خروجی: false (حساس به حروف)

شروع جستجو از موقعیت مشخص:

text.includes("world", 12); // خروجی: false

متد startsWith()

  • بررسی می‌کند که آیا رشته با مقدار مشخصی شروع می‌شود یا خیر.
  • نتیجه true یا false بازمی‌گرداند.
let text = "Hello world, welcome to the universe.";
text.startsWith("Hello"); // خروجی: true
text.startsWith("world"); // خروجی: false

شروع جستجو از موقعیت مشخص:

text.startsWith("world", 6); // خروجی: true

متد endsWith()

  • بررسی می‌کند که آیا رشته با مقدار مشخصی به پایان می‌رسد یا خیر.
let text = "John Doe";
text.endsWith("Doe"); // خروجی: true
text.endsWith("John"); // خروجی: false

بررسی مقدار مشخصی از کاراکترها:

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11); // خروجی: true

نتیجه‌گیری

این متدها ابزارهایی قدرتمند برای جستجو و بررسی رشته‌ها در جاوااسکریپت ارائه می‌دهند. با استفاده از هر کدام از این متدها، می‌توانید به آسانی عملیات موردنظر خود را روی رشته‌ها اعمال کنید.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
JavaScript - تاریخ‌ها (Dates)

JavaScript – تاریخ‌ها (Dates)

آبجکت‌های تاریخ (Date) در جاوااسکریپت آبجکت‌های تاریخ در جاوااسکریپت به ما امکان کار با تاریخ و زمان را می‌دهند....

بیشتر بخوانید
JavaScript - آرایه‌های ثابت (Array Const)

JavaScript – آرایه‌های ثابت (Array Const)

جاوااسکریپت: تعریف آرایه با const در سال 2015، جاوااسکریپت کلمه کلیدی مهمی به نام const را معرفی کرد. این...

بیشتر بخوانید
JavaScript - تکرار آرایه‌ها (Array Iteration)

JavaScript – تکرار آرایه‌ها (Array Iteration)

جاوا اسکریپت: تکرار بر روی آرایه‌ها جاوا اسکریپت روش‌های مختلفی برای تکرار (Iteration) بر روی آرایه‌ها ارائه می‌دهد که...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.