Tagastab variandi (Pikk), mis määrab ühe stringi esimese esinemisjuhu asukoha teise stringi sees.
Süntaks
InStr ([start, ] string1, string2 [, compare ] )
Funktsiooni InStr süntaksil on järgmised argumendid.
Argument |
Kirjeldus |
---|---|
alusta |
Valikuline. Numbriline avaldis, mis seab iga otsingu alguskoha. Puudumisel alustatakse otsingut esimesest märgist. Kui argument start sisaldab tühiväärtust, ilmneb tõrge. Argument start on nõutav, kui määratakse argument compare. |
string1 |
Nõutav. Otsitav stringiavaldis. |
string2 |
Nõutav. Otsitav stringiavaldis. |
võrdle |
Valikuline. Määrab stringivõrdlus tüübi. Kui argument compare on tühiväärtus, ilmneb tõrge. Kui argument compare puudub, määrab võrdluse tüübi säte Suvandite võrdlemine. Lokaadile eriomaste reeglite kasutamiseks võrdluses määrake sobiv lokaadi identifikaator (LCID - LocaleID). |
Näpunäide.: Avaldisekoosturil on IntelliSense, et saaksite vaadata, milliseid argumente avaldis nõuab.
Sätted
Argumendi võrdle sätted võivad olla järgmised.
Konstant |
Väärtus |
Kirjeldus |
---|---|---|
vbUseCompareOption |
-1 |
Kasutab võrdlemiseks lauses Option Compare määratud sätet. |
vbBinaryCompare |
0 |
Teeb binaarvõrdluse. |
vbTextCompare |
1 |
Teeb tekstivõrdluse. |
Tagastusväärtused
Kui |
Funktsooni InStr tagastatav väärtus |
---|---|
string1 on nullpikkusega |
0 |
string1 on tühiväärtus |
Tühiväärtus |
string2 on nullpikkusega |
start |
string2 on tühiväärtus |
Tühiväärtus |
string2 ei leita |
0 |
string2 asub string1 sees |
Vaste leidmise asukoht |
alusta > string2 |
0 |
Kommentaarid
Funktsiooni InStrB kasutatakse stringis sisalduvate baitandmetega. Stringi esimese ilmnemisjuhu märgiasukoha teises stringis tagastamise asemel tagastab funktsioon InStrB baidiasukoha.
Näited
Funktsiooni InStr kasutamine avaldises Funktsiooni InStr saate kasutada kõikjal, kus saate kasutada avaldisi. Näiteks kui soovite leida esimese punkti (.) asukoha IP-aadresse (nimega IPaadress) sisaldaval väljal, saate selle leidmiseks kasutada funktsiooni InStr järgmiselt.
InStr(1,[IPaadress],".")
Funktsioon InStr analüüsib igat väljal IPaadress leiduvat väärtust ja tagastab esimese punkti asukoha. Seega kui IP-aadressi esimene osa on 10., tagastab funktsioon väärtuse 3.
Seejärel saate funktsiooni InStr väljundiga opereerimiseks kasutada muid funktsioone, et ekstraktida punktile eelneva IP-aadressi osa järgnevalt.
Left([IPaadress],(InStr(1,[IPaadress],".")-1))
Eelnevas näites tagastab funktsioon InStr(1,[IPaadress],".") esimese punkti asukoha. Lahutades sellest väärtusest 1, määratakse esimesele punktile eelnevate märkide arv (antud näites on see arv 2). Seejärel ekstraktib funktsioon Left välja IPaadress vasakpoolsest osast määratud arvu märke, tagastades väärtuse 10.
Funktsiooni InStr kasutamine VBA-koodis
Märkus.: Järgmised näited kujutavad selle funktsiooni kasutamist rakenduse Visual Basic for Applications (VBA) moodulis.
Järgnevas näites kasutatakse funktsiooni InStr, et tagastada stringi esimese ilmnemisjuhu asukoht teises stringis.
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.