Vrne podatkovni tip Različica (Dolgo celo število), ki navaja mesto, kjer se en niz prvič pojavi v drugem nizu.
Sintaksa
InStr ([začetek, ] niz1, niz2 [, primerjava ] )
Sintaksa funkcije InStr ima te argumente:
Argument |
Opis |
---|---|
Začetek |
Izbirno. Številski izraz, ki nastavi začetno mesto za vsako iskanje. Če je argument izpuščen, se iskanje začne pri prvem znaku. Če argument začetek vsebuje vrednost Null, pride do napake. Argument začetek je potreben, če je naveden argument primerjava. |
niz1 |
Obvezno. Izraz niza, ki ga iščete. |
niz2 |
Obvezno. Izraz niza, ki ga iščete. |
primerjava |
Izbirno. Določa tip primerjanje nizov. Če ima argument primerjava vrednost Null, pride do napake. Če argument primerjava izpustite, tip primerjave določa nastavitev možnostprimerjava. Navedite veljaven LCID (območne nastavitve) za uporabo pravil v primerjavi, značilnih za območne nastavitve. |
Namig: Graditelj izrazov ima IntelliSense, tako da si lahko ogledate, katere argumente potrebujete za izraz.
Nastavitve
Nastavitve argumenta primerjava so:
Konstanta |
Vrednost |
Opis |
---|---|---|
vbUseCompareOption |
-1 |
Izvede primerjavo z uporabo nastavitve izjave možnost primerjava. |
vbBinaryCompare |
0 |
Izvede dvojiško primerjavo. |
vbTextCompare |
1 |
Izvede besedilno primerjavo. |
Vrednosti vrnitve
Če |
InStr vrne |
---|---|
niz1 je ničelne dolžine |
0 |
niz1 je Null |
Null |
niz2 je ničelne dolžine |
začetek |
niz2 je Null |
Null |
niza2 ni bilo mogoče najti |
0 |
niz2 je najden v nizu1 |
Mesto, kjer je najdeno ujemanje |
začetek > niz2 |
0 |
Opombe
Funkcija InStrB se uporablja s podatki v bajtih, ki jih vsebuje niz. Namesto da vrne položaj znaka prve pojavitve enega niza v drugem, InStrB vrne položaj bajta.
Primeri
Uporaba funkcije InStr v izrazu Funkcijo InStr lahko uporabite povsod, kjer lahko uporabite izraze. Na primer, če želite, da poiskati položaj prvega obdobja (.) v polju, ki vsebuje naslove IP, (imenovan IPAddress), lahko za iskanje uporabite InStr, na primer tako:
InStr(1,[IPAddress],".")
Funkcija InStr pregleda posamične vrednosti v polju IPAddress in vrne položaj prvega obdobja. Torej, če je prvi del naslova IP 10., funkcija vrne vrednost 3.
Nato lahko uporabite druge funkcije, ki delujejo na rezultat funkcije InStr za izvlečenje dela naslova IP, ki je pred prvim obdobjem, in sicer tako:
Left([ipaddress],(InStr(1,[ipaddress],".") -1))
V tem primeru InStr(1,[IPAddress],".") vrne položaj prvega obdobja. Ko odštejete 1, ugotovite, koliko znakov je pred prvim obdobjem, v tem primeru 2. Funkcija Left nato izvleče toliko znakov iz levega dela polja IPAddress polja, in vrne vrednost 10.
Uporaba funkcije InStr v kodi VBA
Opomba: V spodnjih primerih je prikazana uporaba te funkcije v modulu Visual Basic for Applications (VBA).
V tem primeru je uporabljena funkcija InStr za vrnitev položaja prve pojavitve enega niza v drugem.
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.