String Search

1️⃣ تعریف String Search Methods
متدهای جستجوی رشته‌ای در جاوااسکریپت برای پیدا کردن موقعیت یا وجود یک زیررشته در یک رشته استفاده می‌شوند.

2️⃣ متدهای جستجوی پرکاربرد

متدمثالتوضیح
indexOf(searchValue)"Hello".indexOf("l")اندیس اولین رخداد زیررشته → 2
lastIndexOf(searchValue)"Hello".lastIndexOf("l")اندیس آخرین رخداد زیررشته → 3
search(regexp)"Hello123".search(/\d+/)جستجوی regex → 5
includes(searchValue)"Hello".includes("ll")بررسی وجود زیررشته → true
startsWith(searchValue)"Hello".startsWith("He")بررسی شروع رشته → true
endsWith(searchValue)"Hello".endsWith("lo")بررسی پایان رشته → true
match(regexp)"Hello123".match(/\d+/)پیدا کردن تمام موارد با regex → ["123"]
matchAll(regexp)"a1b2".matchAll(/\d/g)iterator تمام موارد با regex → ["1","2"]


3️⃣ مثال‌های عملی

let str = "JavaScript 123"; // indexOf & lastIndexOf console.log(str.indexOf("a")); // 1 console.log(str.lastIndexOf("a")); // 3 // search console.log(str.search(/\d+/)); // 11 → اولین عدد // includes console.log(str.includes("Script")); // true // startsWith & endsWith console.log(str.startsWith("Java")); // true console.log(str.endsWith("123")); // true // match & matchAll console.log(str.match(/\d+/)); // ["123"] let matches = str.matchAll(/\d/g); console.log(Array.from(matches)); // ["1","2","3"]

4️⃣ نکات مهم

  • indexOf و lastIndexOf اندیس اولین و آخرین رخداد زیررشته را برمی‌گردانند.

  • includes Boolean برمی‌گرداند، فقط بررسی وجود یا عدم وجود.

  • متدهای regex (search, match, matchAll) برای جستجوی الگوهای پیچیده مناسب هستند.

  • startsWith و endsWith بر اساس محل رشته بررسی می‌کنند، نه کل متن.