بررسی دو متد ()IndexOf(),LastIndexOf در جکوری

از متدهای مهم جکوری برای کار با رشته ها دو متد IndexOf,LastIndexOf می باشد . قبل از اینکه بخواهیم در مورد این دو متد آشنا شویم سوالی را مطرح می کنیم تا بهتر کاربرد این دو متد درک شود . اگر از شما بخواهند که موقعیت آخرین کاراکتر / را  در رشته زیر بیابید با چه روشی این کار را انجام می دهید ؟ حال اگر از شما بخواهند که موقعیت اولین کاراکتر / را در رشته زیر بیابید چه کدی می نویسید ؟

hozhan.ir/Article/26/کوکی-ها-(Cookies)-در-ASP.NET/

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

IndexOf :

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

اگر کلمه/کاراکتر انتخاب شده در رشته مورد جستجو پیدا نشود مقدار 1- به عنوان خروجی بر گردانده می شود .

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

شکل کلی بکاربردن این متد :

string.indexOf(searchvalue,start)

حتما باید مقدار searchvalue را وارد نمایید ولی وارد کردن مقدار start الزامی ندارد.به صورت پیش فرض در صورتی که مقدار start را وارد نکنید به  از مکان 0 شروع می شود .

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

مثال 1:

var str = "Hello world, welcome to the universe.";
    var n = str.indexOf("e");

مقداری که در متغیر n قرار می گیرد برابر 1 می باشد .

مثال 2:

var str = "Hello world, welcome to the universe.";
var n = str.indexOf("e",5);

 مقداری که در n قرار می گیرد : 14

- تمامی مرورگرهای از این  دو متد پشتیبانی میکنند .

lastIndexOf :

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

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

نحوه نوشتن این متد به صورت زیر می باشد :

string.lastIndexOf(searchvalue,start) 

مانند متد IndexOf می توان مقدار Start را وارد نکرد که در این صورت مقدار پیش فرض 0 به آن نسبت داده می شود . 

مثال :

var str = "Hello planet earth, you are a great planet.";
var n = str.lastIndexOf("planet");

مقدار قرار گرفته در n برابر است با 36


توسط : عثمان رحیمی  3 ماه قبل ، جمعه 4 مهر 1393 ساعت 01:47  0  1755

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


ارسال نظر
  • نام (اختیاری ) :
  • پست الکترونیک :
  • توضیحات :

مطالب مرتبط