A karakterlánc másik karakterláncban történő első előfordulásának helyét tartalmazó Variant (hosszú) értéket ad eredményül.
Szintaxis
InStr ([start, ] string1, string2 [, compare ] )
Az InStr függvény szintaxisa az alábbi argumentumokat foglalja össze:
argumentumok |
Leírás |
---|---|
kezdet |
Nem kötelező. Numerikus kifejezés, mely az egyes keresések kezdőpozícióját határozza meg. Ha nincs megadva, a keresés az első karakter helyétől kezdődik. Ha az indítás null értéket tartalmaz, hiba történik. Az indít argumentum kötelező, ha meg van adva a hasonlít argumentum is. |
karakterlánc1 |
Kötelező. A keresés helyeként szolgáló karakteres kifejezés. |
karakterlánc2 |
Megadása kötelező. Keresett sztringkifejezés. |
összehasonlítás |
Nem kötelező. A karakterlánc-összehasonlítás típusát adja meg. Ha a hasonlít argumentum értéke Null, hiba történik. Ha az összehasonlítás nincs megadva, az OptionCompare beállítás határozza meg az összehasonlítás típusát. Adjon meg érvényes LCID-t (LocaleID) a területi beállításokra vonatkozó szabályok összehasonlításban való használatához. |
Tipp: A Kifejezésszerkesztő intelliSense-t használ, így láthatja, hogy a kifejezés milyen argumentumokat igényel.
Beállítások
Az összehasonlítás argumentum beállításai:
Állandó |
Érték |
Leírás |
---|---|---|
vbUseCompareOption |
-1 |
Az Option Compare beállításnak megfelelő összehasonlítást hajt végre. |
vbBinaryCompare |
0 |
Bináris összehasonlítást hajt végre. |
vbTextCompare |
1 |
Szöveges összehasonlítást hajt végre. |
Visszatérési értékek
Ha |
Az InStr függvény visszaadja |
---|---|
a karakterlánc1 nulla hosszúságú |
0 |
string1 is Null |
Null |
a karakterlánc2 nulla hosszúságú |
indít |
string2 is Null |
Null |
a karakterlánc2 nem található |
0 |
a string2 a sztring1 karakterláncban található |
A találat pozíciója |
> karakterlánc2 indítása |
0 |
Megjegyzések
Az InStrB függvény egy sztringben található bájtadatokkal használható. Ahelyett, hogy az egyik sztring első előfordulásának karakterpozícióját ad vissza egy másikban, az InStrB a bájtpozíciót adja vissza.
Példák
Az InStr függvény használata egy kifejezésben Az InStr-et bárhol használhatja, ahol kifejezéseket használhat. Ha például az első időszak () pozícióját szeretné megtalálni.) egy IP-címeket (IPAddress nevű) tartalmazó mezőben az InStr használatával megkeresheti azt az alábbi módon:
InStr(1;[IPAddress];".")
Az InStr függvény megvizsgálja az IPAddress mező összes értékét, és visszaadja az első időszak pozícióját. Ezért ha az IP-cím első része 10., a függvény a 3 értéket adja vissza.
Ezután az InStr függvény kimenetén működő más függvények használatával kinyerheti az IP-címnek az első időszak előtti részét, a következőképpen:
Left([IPAddress],(InStr(1,[IPAddress],".") -1))
Ebben a példában: InStr(1;[IPAddress],".") az első időszak pozícióját adja vissza. Az 1 kivonása azt határozza meg, hogy hány karakter előzi meg az első pontot, ebben az esetben a 2-t. A Left függvény ezután kinyeri ezt a sok karaktert az IPAddress mező bal oldali részéből, és visszaadja a 10 értéket.
InStr használata VBA-kódban
Megjegyzés: A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát.
Ez a példa az InStr függvénnyel adja vissza az egyik sztring első előfordulásának pozícióját egy másikon belül.
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.