Atgriež Variant (Long) vērtību, kas norāda pozīciju pirmajam virkņu pārklāšanās gadījumam.
Sintakse
InStr ([sākums, ] virkne1, virkne2 [, salīdzināt ] )
Funkcijas InStr sintaksē ir šādi argumenti:
Arguments |
Apraksts |
---|---|
sākums |
Neobligāts arguments. Skaitliska izteiksme, kas iestata katras meklēšanas sākuma pozīciju. Ja tiek izlaists, meklēšana tiek sākta ar pirmo rakstzīmi. Ja sākums ietver vērtību Null, rodas kļūda. Arguments sākums ir nepieciešams, ja norādīts arguments salīdzināt. |
virkne1 |
Obligāts arguments. Meklētā virknes izteiksme. |
virkne2 |
Obligāts arguments. Meklētā virknes izteiksme. |
salīdzināt |
Neobligāts arguments. Norāda datu tipa virkņu salīdzinājums. Ja salīdzināt ir vērtība Null, rodas kļūda. Ja salīdzinājums ir izlaists, opcijusalīdzināšanas iestatījums nosaka salīdzinājuma tipu. Norādiet derīgu LCID (LocaleID), lai salīdzināšanai izmantotu lokalizācijas kārtulas. |
Padoms.: Izteiksmju veidotājam ir IntelliSense, lai jūs varētu skatīt, kādi argumenti ir nepieciešami izteiksmei.
Iestatījumi
Salīdzinājuma argumenta iestatījumi ir šādi:
Konstante |
Vērtība |
Apraksts |
---|---|---|
vbUseCompareOption |
-1 |
Veic salīdzinājumu, izmantojot priekšraksta Opciju salīdzināšana iestatījumu . |
vbBinaryCompare |
0 |
Bināru salīdzinājumu veic. |
vbTextCompare |
1 |
Veic teksta salīdzinājumu. |
Atgrieztās vērtības
Ja |
InStr atgriež |
---|---|
virkne1 ir nulles garums |
0 |
string1 ir Null |
Null |
virkne2 ir nulles garums |
sākums |
string2 ir Null |
Null |
virkne2 nav atrasta |
0 |
string2 is found within string1 |
Pozīcija, kurā ir atrasta atbilstība |
start > string2 |
0 |
Piezīmes
InStrB funkcija tiek izmantota baitu datiem, kas iekļauti virknē. Tā vietā, lai atgrieztu rakstzīmes pozīciju pirmajam virkņu gadījumam citā, InStrB atgriež baita pozīciju.
Piemēri
InStr funkcijas izmantošana izteiksmē InStr varat izmantot visur , kur varat izmantot izteiksmes. Piemēram, ja vēlaties atrast pirmā perioda pozīciju (.) laukā, kurā ir IP adreses (nosaukums IPAddress), varat izmantot InStr , lai to atrastu, piemēram:
InStr(1,[IPAddress],".")
InStr funkcija pārbauda katru vērtību laukā IPAddress un atgriež pirmā perioda pozīciju. Tādējādi, ja IP adreses pirmā daļa ir 10., funkcija atgriež vērtību 3.
Pēc tam varat izmantot citas funkcijas, kas darbojas ar InStr funkcijas izvadi, lai izvilktu IP adreses daļu, kas atrodas pirms pirmā perioda, līdzīgi šim:
Left([IPAddress],(InStr(1,[IPAddress],".") -1))
Šajā piemērā InStr(1,[IPAddress],".") atgriež pirmā perioda pozīciju. Atņemot 1, tiek noteikts, cik rakstzīmju ir pirms pirmā perioda, šajā gadījumā 2. Pēc tam funkcija Left izgūst daudzas rakstzīmes no lauka IPAddress kreisās daļas, atgriežot vērtību 10.
InStr izmantošana VBA kodā
Piezīme.: Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī.
Šajā piemērā tiek izmantota InStr funkcija, lai atgrieztu pozīciju pirmajam virkņu gadījumam otrā.
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.