تابع InStr برای جستجوی موقعیت یک رشته در رشته دیگری بکار می رود :
کد:
[B]InStr[/B]([start, ]string1, string2[, compare])
start موقعیت ای را مشخص می کند که جستجو از آن آغاز می شود، مثلا مقدار 1 مشخص کننده جستجو از اول رشته است.
این پارامتر اختیاری است و اگر جستجو از اول رشته انجام می شود می توان آنرا وارد نکرد.
string1 رشته ای است که جستجو باید در درون آن آغاز شود.
string2 رشته ای است که باید دنبال آن بگردد.
compare مشخص کننده نوع جستجو است، اگر مقدار آن 0 (معادل vbBinaryCompare) باشد، جستجو بصورت باینری
انجام می شود. مثلا در جستجوی باینری کاراکتر a از کاراکتر A بزرگتر است و رشته "ALI" با رشته "ali" یکسان نیستند.
اگر مقدار compare برابر 1 (معادل vbTextCompare) باشد، جستجو بصورت متنی انجام می شود.
مثلا در جستجوی متنی کاراکتر a با کاراکتر "A" معادل است و رشته "ALI" با رشته "ali" یکسان هستند.
compare یک پارامتر اختیاری است و اگر وارد نشود مقدار پیشفرض آن 0 (معادل با vbBinaryCompare) است.
اگر تابع رشته مورد نظر را پیدا کند شماره اولین کاراکتر آنرا در رشته مقصد بر می گرداند و اگر پیدا نکند مقدار صفر
را بر می گرداند.
مثلا اگر بخواهیم در رشته "This is a test" رشته "is" را از اولین کاراکتر به بعد جستجو کنیم می نویسیم :
کد:
Pos = InStr(1, "This is a test", "is")
یا بصورت خلاصه تر می نویسیم :
کد:
Pos = InStr("This is a test", "is")
مقدار Pos بعد از اجرای این دستور برابر 3 خواهد بود.
اگر بخواهیم در رشته "This is a test" رشته "is" را از چهارمین کاراکتر به بعد جستجو کنیم می نویسیم :
کد:
Pos = InStr(4, "This is a test", "is")
مقدار Pos بعد از اجرای این دستور برابر 6 خواهد بود.
تابع InStrRev جستجو را برخلاف جهت InStr از آخر رشته به اول آن انجام می دهد :
کد:
[B]InstrRev[/B](string1, string2[, start[, compare]])
پارامتر های آن مشابه همنام آنها در InStr هستند با این تفاوت که مقدار پیشفرض start برابر منفی یک (1-) است
و در اینصورت جستجو از آخرین کاراکتر رشته string1 شروع می شود.
اگر بخواهیم در رشته "This is a test" رشته "is" را از آخر رشته به سمت اول آن جستجو کنیم می نویسیم :
کد:
Pos = InStrRev("This is a test", "is")
مقدار Pos بعد از اجرای این دستور برابر 6 خواهد بود.
اگر بخواهیم در رشته "This is a test" رشته "is" را از چهارمین کاراکتر رشته به سمت اول آن جستجو کنیم می نویسیم :
کد:
Pos = InStrRev("This is a test", "is", 4)
مقدار Pos بعد از اجرای این دستور برابر 3 خواهد بود.