Funktsioon InStr

Rakenduskoht
Microsoft 365 rakendus Access Access 2024 Access 2021 Access 2019 Access 2016

Tagastab variandi (Pikk), mis määrab ühe stringi esimese esinemisjuhu asukoha teise stringi sees.

Vt näited

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õrdlustüübi. Kui argumendil compare on tühiväärtus, ilmneb tõrge. Kui argument compare puudub, määrab võrdluse tüübi säte OptionCompare . 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
start > 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 IPAddress) sisaldaval väljal, saate selle leidmiseks kasutada funktsiooni InStr .

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.

InStri 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.

Lisateave

Stringifunktsioonid ja nende kasutamine