Daje tip podataka Varijanta (Dugački) koji navodi položaj prvog pojavljivanja jedne niske unutar druge.
Sintaksa
InStr ([start, ] niska1, niska2 [, poređenje ] )
Sintaksa funkcije InStr ima sledeće argumente:
Argument |
Opis |
---|---|
početak |
Opcionalno. Numerički izraz koji postavlja početnu poziciju za svaku pretragu. Ako se izostavi, pretraga počinje od pozicije prvog znaka. Ako start sadrži vrednost Null, dolazi do greške. Argument početak je neophodan ako je naveden parametar poređenje. |
niska1 |
Obavezno. Izraz niske koji se pretražuje. |
niska2 |
Obavezno. Izraz niske je tražen. |
Uporedite |
Opcionalno. Navodi tip datoteke poređenje niski. Ako je argument poređenjeBez vrednosti, dolazi do greške. Ako je argument poređenje izostavljen, postavka Poređenje opcija određuje tip poređenja. Navedite važeći LCID (LocaleID) za korišćenje pravila specifičnih za lokalni standard u poređenju. |
Savet: "Izrada izraza" ima IntelliSense, tako da možete da vidite argumente koje izraz zahteva.
Postavke
Postavke argumenta poređenje su:
Konstanta |
Vrednost |
Opis |
---|---|---|
vbUseCompareOption |
-1 |
Izvršava poređenje pomoću postavke izjave Poređenje opcija . |
vbBinaryCompare |
0 |
Izvršava binarno poređenje. |
vbTextCompare |
1 |
Izvršava tekstualno poređenje. |
Povratne vrednosti
If |
InStr daje |
---|---|
niska1 je nulta dužina |
0 |
niska1 je Bez vrednosti |
Null |
niska2 je nulta dužina |
početak |
niska2 je bez vrednosti |
Null |
niska2 nije pronađena |
0 |
niska2 je pronađena u okviru niske1 |
Pozicija na kojoj se nalazi podudaranje |
pokreni > nisku2 |
0 |
Primedbe
Funkcija InStrB se koristi sa podacima bajta sadržanim u nisci. Umesto da vraća poziciju znaka za prvo pojavljivanje jedne niske unutar druge, InStrB daje poziciju bajta.
Primeri
Korišćenje funkcije InStr u izrazu InStr možete da koristite gde god možete da koristite izraze. Na primer, ako želite da pronađete poziciju prvog perioda (.) u polju koje sadrži IP adrese (imenovanu IP Adresu), možete da koristite InStr da biste ga pronašli, ovako:
InStr(1,[IPAddress],".")
Funkcija InStr ispituje svaku vrednost u polju IPAddress i vraća položaj prvog perioda. Stoga, ako je prvi deo IP adrese 10., funkcija daje vrednost 3.
Zatim možete da koristite druge funkcije, koje rade na izlazu funkcije InStr , da biste izdvojili deo IP adrese koji prethodi prvom periodu, ovako:
Left([IP Adresa],(InStr(1,[IPAddress],".") -1))
U ovom primeru, InStr(1,[IPAddress],".") daje poziciju prvog perioda. Oduzimanjem 1 određuje koliko znakova preththedi prvi period, u ovom slučaju 2. Funkcija Left zatim izdvaja onoliko znakova iz levog delu polja IPAddress, vraćajući vrednost 10.
Koristi InStr u VBA kodu
Napomena: Primeri koji slede pokazuju upotrebu ove funkcije u Visual Basic for Applications (VBA) modulu.
Ovaj primer koristi funkciju InStr za dobijanje pozicije prvog pojavljivanja jedne niske unutar druge.
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar) ' Returns 9.
MyPos = Instr(1, SearchString, "W") ' Returns 0.