جستجوی چندگانه Jquery در یک رشته. جاوا اسکریپت: روش هایی برای کار با رشته ها. مقایسه دو رشته برای مرتب سازی

آخرین به روز رسانی: 06.04.2018

برای ایجاد رشته ها، می توانیم مستقیماً یک رشته را به یک متغیر اختصاص دهیم:

Let name = "Tom";

شی String برای کار با رشته ها طراحی شده است، بنابراین می توانید از سازنده String نیز استفاده کنید:

Var name = new String("Tom");

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

شی String مجموعه بزرگی از ویژگی ها و روش ها دارد که با آنها می توانیم رشته ها را دستکاری کنیم.

ویژگی length نشان دهنده طول رشته است:

Var hello = "سلام دنیا"; console.log("در خط "" + hello + "" " + hello.length + " کاراکترها");

متد repeat() به شما این امکان را می‌دهد که با تکرار یک رشته دیگر، یک رشته ایجاد کنید. تعداد تکرارها به عنوان آرگومان ارسال می شود:

Let hello = "سلام"; console.log(hello.repeat(3)); // سلام سلام سلام

الگوهای ردیفی

قالب های رشته ای به شما این امکان را می دهند که مقادیر مختلفی را در یک رشته وارد کنید. برای انجام این کار، خطوط در نقل قول جلو قرار می گیرند:

Let name = "Tom"; let hello = `سلام $(name)`; console.log(سلام); // سلام تام اجازه سن = 23; let info = `$(name) $(سن) ساله است`; console.log(info); // تام 23 ساله است

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

همچنین، به جای مقادیر اسکالر، ویژگی های اشیاء پیچیده یا نتایج عبارات را می توان اضافه کرد:

Let tom =( name: "Tom", سن: 25 ) let info = `$(tom.name) is $(tom.age) years old`; console.log(info); // تام 23 ساله است مجموع تابع (x, y)( بازگشت x + y; ) اجازه دهید a = 5, b = 4; اجازه دهید نتیجه = `$(a) + $(b) = $(جمع(a, b))`; console.log(نتیجه); // 5 + 4 = 9

جستجو در یک رشته

برای جستجوی رشته‌ها برای یک زیررشته خاص، از روش‌های indexOf() (شاخص اولین رخداد زیررشته) و lastIndexOf() (شاخص آخرین وقوع زیررشته) استفاده می‌شود. این روش ها دو پارامتر دارند:

    رشته فرعی برای یافتن

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

هر دوی این روش ها شاخص کاراکتری را که رشته فرعی در رشته شروع می شود، برمی گرداند. اگر رشته فرعی پیدا نشد، عدد -1 برگردانده می شود.

Let hello = "سلام دنیا. خداحافظ صلح"; let key = "جهان"; اجازه دهید firstPos = hello.indexOf(key); let lastPos = hello.lastIndexOf(key); console.log("اولین اتفاق: ", firstPos); // 7 console.log("آخرین رخداد: ", lastPos); // 17

متد دیگر - include() اگر رشته حاوی زیررشته خاصی باشد true را برمی گرداند.

Let hello = "سلام دنیا. خداحافظ صلح"; console.log(hello.includes("جهان")); // true console.log(hello.includes("moment")); // نادرست

با کمک دومی پارامتر اضافیمی توانید شاخصی را که جستجوی زیررشته از آن آغاز می شود تعریف کنید:

Let hello = "سلام دنیا. خداحافظ صلح"; console.log(hello.includes("world", 5)); // true console.log(hello.includes("hello", 6)); // نادرست

انتخاب رشته فرعی

برای بریدن یک زیر رشته از یک رشته، از متدهای substr() و substring() استفاده کنید.

متد ()substring دو پارامتر دارد:

    شاخص کاراکتر در رشته، که از آن رشته باید کوتاه شود

    شاخصی که رشته باید به آن کوتاه شود

let hello = "سلام دنیا. خداحافظ صلح"; let world = hello.substring(7, 10); // از 7th تا 10th index console.log(world); // دنیا

متد substr() همچنین شاخص شروع زیررشته را به عنوان پارامتر اول و طول رشته فرعی که باید برش داده شود را به عنوان پارامتر دوم در نظر می گیرد:

Let hello = "سلام دنیا. خداحافظ صلح"; let bye = hello.substr(12, 4); console.log(بای); // خداحافظ

اگر پارامتر دوم مشخص نشده باشد، بقیه خط کوتاه می شود:

Let hello = "سلام دنیا. خداحافظ صلح"; let bye = hello.substr(12); console.log(بای); // خداحافظ صلح

مدیریت ثبت نام

برای تغییر حروف کوچک، متدهای toLowerCase() (برای تبدیل به حروف کوچک) و toUpperCase() (برای تبدیل به حروف بزرگ) وجود دارد.

Let hello = "سلام تام"; console.log(hello.toLowerCase()); // سلام Tom console.log(hello.toUpperCase()); // سلام تام

گرفتن نماد بر اساس شاخص

برای به دست آوردن یک کاراکتر خاص در یک رشته با شاخص، می توانید از متدهای charAt() و charCodeAt() استفاده کنید. هر دوی این روش ها شاخص کاراکتر را به عنوان پارامتر در نظر می گیرند:

Let hello = "سلام تام"; console.log(hello.charAt(2)); // و console.log(hello.charCodeAt(2)); // 1080

اما اگر متد charAt () خود کاراکتر را در نتیجه برمی گرداند، متد charCodeAt () کد عددی این کاراکتر را برمی گرداند.

حذف فضاها

برای حذف فضاهای اصلی و انتهایی از یک رشته، از متد trim() استفاده کنید:

Let hello = "سلام تام"; let beforeLength = hello.length; hello = hello.trim(); let afterLength = hello.length; console.log("طول خط تا: ", beforeLength); // 15 console.log("طول خط بعد از: ", afterLength); // 10

رشته های به هم پیوسته

متد concat () دو رشته را به هم متصل می کند:

Let hello = "سلام"; let world = "جهان"; hello = hello.concat(world); console.log(سلام); // سلام دنیا

جایگزینی رشته فرعی

متد ()replace اولین وقوع یک زیررشته را با دیگری جایگزین می کند:

Let hello = "عصر بخیر"; hello = hello.replace("روز", "عصر"); console.log(سلام); // عصر بخیر

پارامتر اول متد مشخص می کند که کدام زیر رشته باید جایگزین شود و پارامتر دوم مشخص می کند که با کدام زیر رشته باید جایگزین شود.

شکافتن رشته

متد split() یک رشته را با استفاده از یک جداکننده مشخص به آرایه‌ای از زیررشته‌ها تقسیم می‌کند. جداکننده رشته ای است که به متد ارسال می شود:

Var message = "هوا امروز زیبا بود"; var stringArray = message.split(" "); for(var str در stringArray) console.log(stringArray);

خروجی مرورگر

امروز هوا قشنگ بود

بررسی ابتدا و انتهای یک خط

اگر رشته با یک زیررشته خاص شروع شود، متد startsWith() true را برمی‌گرداند. و اگر رشته با یک زیررشته خاص خاتمه یابد، متد endsWith() true را برمی‌گرداند.

Let hello = "بگذار از دل حرف بزنم"; console.log(hello.startsWith("let")); // true console.log(hello.startsWith("Let")); // false console.log(hello.startsWith("lets")); // false console.log(hello.endsWith("قلب")); // true console.log(hello.startsWith("bart")); // نادرست

Case در اینجا نقش ایفا می کند و از مثال بالا می بینیم که "let" معادل "Let" نیست.

یک پارامتر دوم اضافی به شما امکان می دهد شاخصی را مشخص کنید (برای startsWith - ایندکس از ابتدا و برای endsWith - شاخص از انتهای رشته) که مقایسه با آن انجام می شود:

Let hello = "بگذار از دل حرف بزنم"; console.log(hello.startsWith("من"، 4)); // true، "me" - چهارمین فهرست از ابتدای خط console.log(hello.startsWith("my", hello.length-8)); // true، "my" - هشتمین شاخص از پایان

وقتی می نویسی جاوا اسکریپت، اغلب اوقات برای جستجوی اطلاعات در مورد نحو و پارامترهای متدهایی که با رشته ها کار می کنند، باید در اینترنت گشت و گذار کنید.

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

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

تبدیل به رشته

می توانید یک عدد، عبارت بولی یا شی را به یک رشته تبدیل کنید:

Var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

می توانید با همین روش انجام دهید رشته ():

Var myNumber = 24; // 24 var myString = String(myNumber); // "24"

اگر مطمئن نیستید که چه ارزشی ندارد تهییا تعریف نشده، می توانید استفاده کنید رشته ()، که همیشه یک رشته را بدون توجه به نوع مقدار برمی گرداند.

تقسیم یک رشته به زیر رشته ها

برای تقسیم رشته ها به آرایه ای از زیررشته ها می توانید از روش استفاده کنید split():

Var myString = "در حال، جدا، در، کاما"; var substringArray = myString.split(""); // ["coming"، "Apart"، "at"، "the"، "Commas"] var arrayLimited = myString.split(")، 3); // ["آمدن"، "جدا"، "در"]

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

به دست آوردن طول یک رشته

برای یافتن تعداد کاراکتر در یک رشته، از ویژگی استفاده می کنیم طول:

Var myString = "شما" کاملا یک شخصیت هستید."؛ var stringLength = myString.length؛ // 25

پیدا کردن یک زیر رشته در یک رشته

دو روش برای جستجوی زیر رشته وجود دارد:

استفاده indexOf():

Var stringOne = "جانی والدو هریسون والدو"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

indexOf()این متد جستجوی یک زیررشته را از ابتدای رشته شروع می کند و موقعیت آغاز اولین وقوع رشته فرعی را برمی گرداند. در این مورد - موقعیت 7.

استفاده lastIndexOf():

Var stringOne = "جانی والدو هریسون والدو"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

این روش موقعیت شروع آخرین وقوع یک رشته فرعی در یک رشته را برمی گرداند.

هر دو روش در صورت یافت نشدن زیررشته، -1 را برمی‌گردانند، و هر دو آرگومان دوم اختیاری را می‌گیرند که موقعیتی را در رشته‌ای که می‌خواهید جستجو آغاز شود را نشان می‌دهد. بنابراین اگر آرگومان دوم "5" باشد، indexOf()جستجو را از کاراکتر 5 آغاز می‌کند و کاراکترهای 0-4 را نادیده می‌گیرد lastIndexOf()جستجو را از کاراکتر 5 شروع می کند و به عقب کار می کند و کاراکترهای 6 و بالاتر را نادیده می گیرد.

جایگزینی رشته فرعی

برای جایگزینی وقوع یک رشته فرعی در یک رشته با رشته فرعی دیگر، می توانید استفاده کنید جایگزین ():

Var slugger = "جاش همیلتون"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "خوزه باتیستا"

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

برای جایگزینی همه رخدادها، باید از یک عبارت منظم با یک پرچم سراسری استفاده کنید:

Var myString = "او پوسته های خودرو را در ساحل خودرو می فروشد"; var newString = myString.replace(/automotive/g, "sea"); console.log(newString); // "او صدف های دریایی را در ساحل می فروشد"

آرگومان دوم ممکن است شامل یک الگو یا تابع خاص باشد. می توانید بیشتر بخوانید.

یک کاراکتر در یک موقعیت معین در یک رشته دریافت کنید

می توانیم نماد را با استفاده از تابع بدست آوریم charAt():

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charAt(7); // "f"

همانطور که اغلب در جاوا اسکریپت اتفاق می افتد، اولین موقعیت در رشته از 0 شروع می شود نه 1.

همانطور که تابع جایگزینمی توان استفاده کرد charCodeAt()تابع، که کد کاراکتر است.

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

توجه داشته باشید که کد کاراکتر "F" (موقعیت 11) با کاراکتر "f" (موقعیت 7) متفاوت است.

رشته های به هم پیوسته

در بیشتر موارد، می توانید از عملگر "+" برای به هم پیوستن رشته ها استفاده کنید. اما شما همچنین می توانید از روش استفاده کنید concat():

Var stringOne = "Knibb High Football"; var stringTwo = stringOne.concat("قوانین."); // "قوانین فوتبال Knibb High"

به این ترتیب می‌توانیم بسیاری از خطوط را به ترتیبی که نوشته شده‌اند در یک خط ترکیب کنیم:

Var stringOne = "Knibb"; var stringTwo = "بالا"; var stringThree = "فوتبال"; var stringFour = "قوانین."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(finalString); // "قوانین بالای فوتبال Knibb."

استخراج زیر رشته

3 راه برای دریافت یک رشته از بخشی از رشته دیگر وجود دارد:

با استفاده از برش ():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "فغیج"

با استفاده از زیر رشته ():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "فغیج"

در هر دو تابع، پارامتر اول کاراکتری است که رشته فرعی با آن شروع می شود (از موقعیت 0 شروع می شود) و آرگومان دوم (اختیاری) موقعیت کاراکتری است که رشته فرعی به آن برگردانده می شود. مثال (5، 10) رشته بین موقعیت های 5 و 9 را برمی گرداند.

با استفاده از substr():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "فغیجکلمنو"

آرگومان اول موقعیت کاراکتری است که خط جدید از آنجا شروع می شود و آرگومان دوم تعداد کاراکترهای موقعیت شروع خط جدید است. آن ها (5، 10) 10 کاراکتر را برمی گرداند که از موقعیت 5 شروع می شود.

یک رشته را به حروف بزرگ یا کوچک تبدیل کنید.

4 روش برای ترجمه وجود دارد. 2 مورد اول رشته را به حروف بزرگ تبدیل می کند:

Var stringOne = "صحبت کن، من نمی توانم تو را بشنوم."; var stringTwo = stringOne.toLocaleUpperCase(); // "SPEAK UP، I CAN"THEAR YOU" var stringThree = stringOne.toUpperCase(); // "صحبت کن، من نمی توانم تو را بشنوم"

2 مورد دیگر رشته را به حروف کوچک تبدیل می کنند:

Var stringOne = "تو نباید فریاد بزنی"؛ var stringTwo = stringOne.toLocaleLowerCase(); // "شما مجبور نیستید فریاد بزنید" var stringThree = stringOne.toLowerCase(); // "تو مجبور نیستی فریاد بزنی"

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

تطبیق الگو

تطبیق الگو در یک رشته را می توان با استفاده از 2 روش انجام داد که متفاوت عمل می کنند.

روش مطابقت ()به یک رشته اعمال می شود و یک عبارت منظم را به عنوان پارامتر می گیرد:

Var myString = "چقدر چوب می تواند یک چوب چاک کند"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["چوب"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "چقدر چوب می تواند یک چوب چاک کند"

روش exec()به یک شیء عبارت منظم اعمال می شود و رشته را به عنوان پارامتر می گیرد:

Var myString = "چقدر چوب می تواند یک چوب چاک کند"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["چاک"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "چقدر چوب می تواند یک چوب چاک کند"

در هر دو روش فقط اولین مسابقه برگردانده می شود. اگر هیچ مسابقه ای وجود نداشته باشد، برمی گردد تهی

شما همچنین می توانید از روش استفاده کنید جستجو ()که یک عبارت منظم می گیرد و موقعیت اولین تطابق را در الگو برمی گرداند:

Var myString = "فرض"; var patternLocation = myString.search(/ume/); // 3

اگر هیچ مسابقه ای وجود نداشت، -1 «.

مقایسه دو رشته برای مرتب سازی

می توانید 2 رشته را با هم مقایسه کنید تا مشخص کنید کدام یک در الفبا اول است. برای این کار از روش استفاده خواهیم کرد localeCompare()که 3 مقدار ممکن را برمی گرداند:

Var myString = "مرغ"; var myStringTwo = "تخم مرغ"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (Chrome -2 را برمی گرداند) whichCameFirst = myString.localeCompare("chicken"); // 0 whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome 2 را برمی گرداند)

همانطور که در بالا نشان داده شد، اگر آرگومان رشته بعد از رشته اصلی بیاید، یک عدد منفی برگردانده می شود. یک عدد مثبت اگر آرگومان رشته قبل از رشته اصلی بیاید. اگر برگردانده شود 0 - یعنی خطوط برابر هستند.

برای بررسی مقدار برگشتی بهتر است از if (نتیجه< 0), чем if (result === -1). Последнее не будет работать в Chrome.

از توجه شما متشکرم، امیدوارم چیزهای جدید و جالب زیادی یاد گرفته باشید!

نویسنده مقاله: الکس. دسته:
تاریخ انتشار: 1392/03/19

متد include() تعیین می‌کند که آیا یک رشته را می‌توان در رشته‌ای دیگر پیدا کرد، در صورت لزوم true یا false را برمی‌گرداند.

نحو: -string.includes(searchString[, position])

searchString: - رشته ای برای جستجو در این رشته.

موقعیت: -اضافی. موقعیتی که در این رشته جستجو می شود SearchString. پیش فرض 0.

string = "LOL"; console.log(string.includes("lol")); // false console.log را برمی گرداند(string.includes("LOL")); // true را برمی گرداند

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

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

$(document).ready(function() ($("انتخاب").change(function() ( var str = $("انتخاب گزینه:selected").text(); if (str == "بله (+ $6.95)") ($(". حکاکی").show(); ) else ($(". حکاکی").hide(); )));

با این حال، من ترجیح می دهم از چیزی شبیه به این استفاده کنم که کار نمی کند:

$(document).ready(function() ($("انتخاب").change(function() (var str = $("انتخاب گزینه:selected").text(); if (str *= "بله") ($(.graving").show(); ) else ($(".grraving").hide(); )));

من فقط می خواهم یک عمل انجام دهم که گزینه انتخاب شده حاوی کلمه "بله" باشد و اصلاح کننده قیمت را نادیده بگیرد.

وقتی با جاوا اسکریپت می نویسم، اغلب باید به آن مراجعه کنم موتورهای جستجو، به منظور روشن کردن نحو روش ها (و ترتیب، تعریف آرگومان ها) کار با رشته ها.

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

تبدیل به رشته

می توانید شماره را تبدیل کنید، مقدار بولییا یک شی به یک رشته.

Var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

همچنین می توانید دستکاری مشابهی را با استفاده از تابع string() انجام دهید.

Var myNumber = 24; // 24 var myString = String(myNumber); // "24"

Nicholas Zakas می گوید: "اگر در مورد مقدار (تهی یا تعریف نشده) مطمئن نیستید، از تابع String() استفاده کنید، زیرا بدون توجه به نوع متغیر، یک رشته را برمی گرداند."

تعریف نشدهبه این معنی که به متغیر هیچ مقداری اختصاص داده نمی شود، a تهی، - که یک مقدار خالی به آن اختصاص داده شده است (می توان گفت null به عنوان یک شی خالی تعریف می شود).

یک رشته را به زیر رشته ها تقسیم کنید

برای تقسیم یک رشته به آرایه ای از زیررشته ها می توانید از متد split() استفاده کنید:

Var myString = "در حال، جدا، در، کاما";

var substringArray = myString.split(""); // ["coming"، "Apart"، "at"، "the"، "Commas"] var arrayLimited = myString.split(")، 3); // ["آمدن"، "جدا"، "در"]

همانطور که خط آخر نشان می دهد، مقدار آرگومان اختیاری دوم تعداد عناصر آرایه برگشتی را تعیین می کند.

طول رشته را دریافت کنید

با استفاده از ویژگی length می توانید تعداد کاراکترهای یونیکد را در یک رشته پیدا کنید:

Var myString = "شما" کاملا یک شخصیت هستید."؛ var stringLength = myString.length؛ // 25

یک رشته فرعی را در یک رشته تعریف کنید

دو راه برای رسیدن به برنامه وجود دارد:

از indexOf() استفاده کنید:

Var stringOne = "جانی والدو هریسون والدو";

var wheresWaldo = stringOne.indexOf("Waldo"); // 7

متد indexOf() یک زیررشته (اولین آرگومان ارسال شده) را در یک رشته (از ابتدای رشته) جستجو می کند و موقعیت اولین کاراکتر را که زیررشته شروع به ظاهر شدن در رشته کرده است، برمی گرداند.

از lastIndexOf() استفاده کنید:

Var stringOne = "جانی والدو هریسون والدو";

var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

متد lastIndexOf() همه کارها را یکسان انجام می دهد، با این تفاوت که به دنبال آخرین زیررشته ای می گردد که در رشته وجود دارد.

اگر رشته فرعی پیدا نشد، هر دو روش -1 را برمی‌گردانند. آرگومان اختیاری دوم موقعیتی را در رشته ای که می خواهید جستجو را شروع کنید مشخص می کند. بنابراین، اگر آرگومان دوم متد indexOf() 5 باشد، جستجو از کاراکتر پنجم شروع می‌شود و کاراکترهای 0-4 نادیده گرفته می‌شوند. برای lastIndexOf() ، همچنین اگر آرگومان دوم 5 باشد، جستجو در جهت مخالف شروع می شود و کاراکترهای 6 به بالا نادیده گرفته می شوند.

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

برای جایگزینی همه رخدادهای یک رشته فرعی، از یک عبارت منظم با پرچم "g" استفاده کنید.

Var myString = "او پوسته های خودرو را در ساحل خودرو می فروشد";

var newString = myString.replace(/automotive/g, "sea");

console.log(newString); // "او صدف های دریایی را در ساحل می فروشد"

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

یک شخصیت را در یک موقعیت مشخص پیدا کنید

برای اینکه بفهمید کدام کاراکتر در یک موقعیت معین قرار دارد، می توانید از متد charAt() استفاده کنید:

Var myString = "Birds of a Feather";

var whatsAtSeven = myString.charAt(7); // "f"

همانطور که اغلب در جاوا اسکریپت اتفاق می افتد، اولین موقعیت از 0 شروع می شود نه از 1.

همچنین می توانید از متد ()charCodeAt استفاده کنید، اما به جای خود کاراکتر، کد آن را دریافت خواهید کرد.

Var myString = "Birds of a Feather";

var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

توجه داشته باشید که کد یک حرف بزرگ (موقعیت 11) با کد همان حرف کوچک (موقعیت 7) متفاوت است.

الحاق رشته در جاوا اسکریپت

در بیشتر موارد، از عملگر (+) برای به هم پیوستن رشته ها استفاده خواهید کرد. اما می توانید رشته ها را با استفاده از متد ()concat به هم متصل کنید.

Var stringOne = "Knibb High Football"; var stringTwo = stringOne.concat("قوانین."); // "قوانین فوتبال Knibb High"رشته های متعددی را می توان به concat() ارسال کرد و رشته حاصل به ترتیبی که به متد concat() اضافه شد ظاهر می شود. Var stringOne = "Knibb"; var stringTwo = "بالا";

var stringThree = "فوتبال";

var stringFour = "قوانین.";

var finalString = stringOne.concat(stringTwo, stringThree, stringFour);

console.log(finalString); // "قوانین بالای فوتبال Knibb."

برای هر دو متد (slice() و substring())، آرگومان اول موقعیت کاراکتری است که رشته فرعی در آن شروع می شود (شمارش از 0)، آرگومان دوم موقعیت کاراکتری است که رشته فرعی در آن به پایان می رسد، و کاراکتر تعیین شده در آرگومان دوم در زیررشته برگشتی گنجانده نشده است.

استفاده از substr():

Var stringOne = "abcdefghijklmnopqrstuvwxyz";

var stringTwo = stringOne.substr(5, 10); // "فغیجکلمنو"

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

تبدیل رشته به حروف کوچک یا بزرگ در جاوا اسکریپت

چهار روش برای انجام تبدیل های لازم وجود دارد. دو برای تبدیل کاراکترهای رشته به حروف بزرگ.

Var stringOne = "صحبت کن، من نمی توانم تو را بشنوم."; var stringTwo = stringOne.toLocaleUpperCase(); // "SPEAK UP، I CAN"THEAR YOU" var stringThree = stringOne.toUpperCase(); // "صحبت کن، من نمی توانم تو را بشنوم"

و دو تا برای تبدیل رشته به حروف کوچک:

Var stringOne = "تو نباید فریاد بزنی"؛ var stringTwo = stringOne.toLocaleLowerCase(); // "شما مجبور نیستید فریاد بزنید" var stringThree = stringOne.toLowerCase(); // "تو مجبور نیستی فریاد بزنی"

به طور کلی، هیچ تفاوتی بین روش محلی و روش غیرمکانی وجود ندارد، اما «برای برخی از زبان‌ها، مانند ترکی، که حروف آن از حالت یونیکد مشخص شده پیروی نمی‌کند، ممکن است پیامدهای استفاده از روش غیرمحلی باشد. متفاوت." بنابراین، قانون زیر را دنبال کنید: "اگر زبانی که کد در آن اجرا می شود را نمی دانید، استفاده از روش های محلی امن تر است."

تطبیق الگو در جاوا اسکریپت

با استفاده از 2 روش می توانید وجود یک الگو را در یک رشته بررسی کنید.

متد match() بر روی یک شی رشته فراخوانی می شود و یک عبارت منظم را به عنوان آرگومان به متد match() ارسال می کند.

Var myString = "چقدر چوب می تواند یک چوب چاک کند";

Var myString = "چقدر چوب می تواند یک چوب چاک کند";

var myPattern = /.huck/;

var myResult = myPattern.exec(myString); // ["چاک"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "چقدر چوب می تواند یک چوب چاک کند"

هر دو روش اولین اتفاقی را که منطبق است برمی گرداند. اگر هیچ منطبقی یافت نشد، NULL برگردانده می شود. اگر عبارت منظم دارای پرچم "g" باشد، نتیجه آرایه ای خواهد بود که شامل همه موارد منطبق است.

همچنین می‌توانید از متد search() استفاده کنید که یک عبارت منظم را به عنوان آرگومان می‌گیرد و موقعیت شروع اولین الگوی منطبق را برمی‌گرداند.

Var myString = "فرض";

var patternLocation = myString.search(/ume/); // 3

اگر هیچ منطبقی پیدا نشد، متد -1 را برمی‌گرداند.

مقایسه دو رشته برای مرتب سازی بعدی

دستورالعمل ها