VBScript – Funkcija InStr

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.
U sledećem programskom kodu možemo videti ova dva tipa pretraživanja:


Dim strVelikiString, strTrazeniString, intVred0, intVred1

strVelikiString = "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