منو سایت

  • خانه
  • وبلاگ
  • 4 روش برای بررسی اینکه آیا یک رشته دارای زیررشته در جاوا اسکریپت است یا خیر

4 روش برای بررسی اینکه آیا یک رشته دارای زیررشته در جاوا اسکریپت است یا خیر

 تاریخ انتشار :
/
  وبلاگ
4 روش برای بررسی اینکه آیا یک رشته دارای زیررشته در جاوا اسکریپت است یا خیر

4 روش جاوا اسکریپت برای یافتن زیر رشته ها

پاسخ کوتاه

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

1. string.indexOf()

از آن استفاده کنید indexOf() روش. این روش شاخص اولین رخداد رشته فرعی در رشته یا -1 را در صورت یافت نشدن رشته فرعی برمی گرداند.

برای مثال، بیایید بررسی کنیم که آیا کلمه در “Hello world!” وجود دارد یا خیر:

var str = "Hello world!";
if (str.indexOf("world") >= 0) {
  console.log("There's a substring")
}

خروجی:

There's a substring

2. string.includes()

از آن استفاده کنید includes() روش. این متد یک مقدار بولی را برمی‌گرداند که نشان می‌دهد آیا رشته حاوی رشته فرعی است یا خیر.

برای مثال، بیایید بررسی کنیم که آیا کلمه در “Hello world!” وجود دارد یا خیر:

var str = "Hello world!";
if (str.includes("world")) {
  console.log("There's a substring")
}

خروجی:

There's a substring

3. string.search()

استفاده كردن search() روش: این روش مشابه است indexOf()اما از عبارات منظم پشتیبانی می کند و امکان تطبیق زیر رشته های پیشرفته تری را فراهم می کند.

برای مثال، بیایید بررسی کنیم که آیا کلمه در “Hello world!” وجود دارد یا خیر:

var str = "Hello world!";
if (str.search(/world/) >= 0) {
  console.log("There's a substring")
}

خروجی:

There's a substring

4. string.match()

استفاده كردن match() روش: این متد رشته را برای یک عبارت منظم جستجو می کند و یک آرایه حاوی زیررشته های منطبق را برمی گرداند، یا null اگر مطابقت پیدا نشد

برای مثال، بیایید بررسی کنیم که آیا کلمه در “Hello world!” وجود دارد یا خیر:

var str = "Hello world!";
if (str.match(/world/)) {
  console.log("There's a substring")
}

خروجی:

There's a substring

این یک راهنمای جامع برای بررسی اینکه آیا یک رشته دارای زیررشته در جاوا اسکریپت است یا خیر.

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

بیایید به آن بپریم!

1. متد string.indexOf().

روش جاوا اسکریپت string.indexOf().

این indexOf() متد در جاوا اسکریپت برای جستجوی یک رشته مشخص در یک رشته معین و برگرداندن شاخصی که رشته مشخص شده در آن یافت می شود استفاده می شود. اگر رشته مشخص شده پیدا نشد، indexOf() متد -1 را برمی گرداند.

مثلا:

var str = "Hello, world!";

var n = str.indexOf("world");
var m = str.indexOf("test");

console.log(n);  // Output: 7
console.log(m);  // Output: -1

این indexOf() روش ممکن است آرگومان دوم اختیاری را نیز بپذیرد که نمایه ای را که جستجو را در آن شروع می کند مشخص می کند.

مثلا:

var str = "Hello, world!";

var n = str.indexOf("world", 5);

console.log(n);  // Output: 7

در مثال بالا، جستجوی رشته “world” از نمایه 5 رشته “Hello World!” شروع می شود. از آنجایی که “جهان” در نمایه 7 ظاهر می شود (شما می توانید آن را با انگشتان خود بشمارید تا ببینید واقعاً چنین است)، این همان چیزی است که indexOf() روش برمی گردد

2. متد string.includes() .

متد string.includes() جاوا اسکریپت

این includes() متد در جاوا اسکریپت بررسی می کند که آیا یک رشته دارای یک زیررشته مشخص شده است یا خیر. داره برمیگرده true اگر رشته فرعی مشخص شده در رشته داده شده یافت شود، و false اگر نیست.

مثلا:

var str = "Hello, world!";

var isIncluded = str.includes("world");

console.log(isIncluded);  // Output: true

در مثال بالا، includes() متد بررسی می کند که آیا رشته “Hello, world!” شامل زیر رشته “جهان” است. با انجام این کار، متد برمی گردد true.

این includes() روش ممکن است آرگومان دوم اختیاری را نیز بپذیرد که نمایه ای را که جستجو را در آن شروع می کند مشخص می کند.

مثلا:

var str = "Hello, world!";

var isIncluded = str.includes("world", 5);

console.log(isIncluded);  // Output: true

در اینجا دنیای زیر رشته ها بعد از پنجمین شاخص (ششم کاراکتر) رشته جستجو می شود. از آنجایی که “world” در شاخص 7 رخ می دهد، به این معنی است که پس از شروع جستجو در شاخص 5، یک زیر رشته “world” وجود دارد.

توجه داشته باشید که indexOf() می توان از روش برای دستیابی به همان نتیجه استفاده کرد includes() روش. اما در indexOf() ایندکسی را که در آن زیررشته مشخص شده while پیدا شده است برمی گرداند includes() یک مقدار بولی برمی گرداند. بنابراین بستگی به نیاز دارد که از کدام روش استفاده شود.

3. متد string.search().

متد string.match() جاوا اسکریپت

گزینه سوم برای جستجوی زیر رشته ها در جاوا اسکریپت با استفاده از عبارت است search() روش. این روش سعی می کند یک زیر رشته مشخص شده در یک رشته را پیدا کند. نمایه ای را که رشته مشخص شده در آن پیدا شده است برمی گرداند. اگر رشته مشخص شده پیدا نشد، search() متد -1 را برمی گرداند.

مثلا:

var str = "Hello, world!";

var n = str.search("world");

console.log(n);  // Output: 7

این search() متد همچنین می تواند یک عبارت منظم را به عنوان پارامتر بپذیرد. در این حالت، متد شاخصی را که در آن الگوی عبارت منظم مشخص شده در رشته داده شده پیدا شده است، برمی گرداند.

فراموش نکنید که با آن آشنا شوید عبارات با قاعده (RegEx). در غیر این صورت مثال زیر برای شما منطقی نخواهد بود.

مثلا:

var str = "Hello, world!";

var n = str.search(/[aeiou]/);

console.log(n);  // Output: 1

در مثال بالا، search() متد اولین واکه کوچک (“a”، “e”، “i”، “o”، “u”) را در رشته “Hello, world!” جستجو می کند. ایندکسی را که اولین تطابق در آن پیدا شد، برمی‌گرداند که در این مورد 1 است (“e” در “Hello”).

همانطور که می بینید، search() این روش نه تنها به همان نتیجه می رسد indexOf() روش، اما عبارات منظم را نیز درک می کند. همینطور، search() روش قدرتمندتر و انعطاف پذیرتر از indexOf() روش.

4. متد string.match().

متد string.search() جاوا اسکریپت.

در آخر اما نه کم اهمیت، بیایید به یک روش مشابه نگاه کنیم search() تحت عنوان match(). این match() متد یک زیر رشته را در یک رشته جستجو می کند و آرایه ای از زیررشته های منطبق را برمی گرداند. اگر هیچ منطبقی پیدا نشد، match() روش برمی گردد null. این متد ورودی عبارات منظم را نیز می پذیرد.

در اینجا مثالی از نحوه استفاده شما آورده شده است match() روش:

var str = "Hello, world!";

var matches = str.match("world");

console.log(matches);  // Output: ["world"]

اینجا match() متد به دنبال رشته “world” در رشته “Hello, world!” می گردد. متد یک آرایه حاوی رشته منطبق را برمی گرداند که در این مورد چنین است ["world"].

این match() متد همچنین می تواند یک عبارت منظم را به عنوان پارامتر بپذیرد. در این مورد، آرایه‌ای از زیر رشته‌ها را در رشته داده شده برمی‌گرداند که با الگوی عبارت منظم مشخص شده مطابقت دارند.

به عنوان مثال، بیایید تمام حروف صدادار را در یک رشته جستجو کنیم:

var str = "Hello, world!";

var matches = str.match(/[aeiou]/g);

console.log(matches);  // Output: ["e", "o", "o", "a"]

اینجا، match() متد به دنبال الگویی می گردد که با هر حروف صدادار کوچک در رشته “Hello, world!” مطابقت داشته باشد. متد آرایه ای از تمام زیررشته های منطبق را برمی گرداند. در این صورت نتیجه این است ["e", "o", "o", "a"].

این match() می توان از روش برای دستیابی به همان نتیجه استفاده کرد search() روش، اما آرایه ای از زیررشته های منطبق را به جای شاخصی که اولین تطابق در آن پیدا شد، برمی گرداند. گاهی اوقات می شود match() یک روش مفیدتر برای استخراج اطلاعات از یک رشته.

string.search() در مقابل string.match()

تفاوت کلیدی بین match() و search() روش‌های موجود در جاوا اسکریپت نحوه بازگرداندن نتایج جستجو است.

این search() متد شاخصی را که در آن اولین تطابق در while پیدا شده است، برمی گرداند match() متد آرایه ای از تمام زیررشته های منطبق را برمی گرداند.

اگرچه قبلاً چندین نمونه را دیده اید، در اینجا یکی دیگر وجود دارد که به وضوح تفاوت بین این دو را نشان می دهد:

var str = "Hello, world!";

var n = str.search("world");
console.log(n);  // Output: 7

var matches = str.match("world");
console.log(matches);  // Output: ["world"]

با تشکر برای خواندن. کد نویسی مبارک!

همچنین بخوانید

راهنمای نهایی RegEx