Funkcija InStr je veoma staลพna alatka za pretraลพivanje teksta, koja sluลพi za pronalaลพenje pozicije tekstualnog podstringa unutar nekog teksta. Ovo je priliฤno kompleksna funkcija, pa ฤemo se prvo upoznati sa njenom sintaksom:
pozicija = InStr(startpoz, string1, string2, tip)
InStr funkcija vraฤa poziciju podstringa unutar nekog stringa. U ovom sluฤaju, vraฤena vrednost je varijabla pozicije. Da pogledamo pobliลพe i sve pojedinaฤne argumente funkcije:
- Startpos – ovaj argument predstavlja numeriฤku vrednost koja govori funkciji od koje pozicije treba da poฤne pretraga. Ovo je vaลพan argument jer ukoliko ลพelite da vaลกim operacijama sa stringovima dodate i funkciju pretrage, biฤe potrebno da podesite startnu poziciju svaki put kada se pronaฤe traลพeni podstring (u sluฤaju viลกestrukog pojavljivanja kod dugaฤkih tekstova).
- String1 – ovaj argument predstavlja string (tekst) u kome se vrลกi pretraลพivanje za odreฤenim podstringom.
- String2 – ovde smeลกtamo string koji traลพimo u argumentu String1.
- Tip – Ovim argumentom odreฤujemo vrstu string komparacije koja ฤe se izvoditi. Ovaj argument moลพe imati vrednost 0 (podrazumevana) ili 1. Tip 0 predstavlja binarnu komparaciju. Funkcija ฤe vratiti poziciju samo u sluฤaju potpunog poklapanja traลพenog argumenta sa delom teksta. Argumentom 1 vrลกimo pretraลพivanje koje nije osetljivo na upotrebu malih/velikih karaktera.
Dim strVelikiString, strTrazeniString, intVred0, intVred1strVelikiString = "Ovo je VELIKI string"
strTrazeniString = "veliki"
intVred0 = InStr( , strVelikiString, strTrazeniString, 0)
intVred1 = InStr( , strVelikiString, strTrazeniString, 1)
U ovom primeru, varijabla „intVred0“ dobiฤe vrednost 0 jer funkcija nije mogla da pronaฤe string „veliki“ unutar stringa „strVelikiString“. Varijabla „intVred1“ dobiฤe vrednost 8 jer ฤe traลพeni string biti pronaฤen, poลกto se radi o non-case-sensitive pretrazi.
Pratite Krstaricu na www.krstarica.com