Funkce InStr

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Vrátí hodnotu typu Variant (Long) určující pozici prvního výskytu jednoho řetězce v jiném řetězci.

Zde naleznete několik příkladů

Syntaxe

Funkce InStr ([start ] řetězec_1, řetězec_2 [porovnání ] )

Syntaxe funkce InStr obsahuje následující argumenty:

Argument

Popis

zahájení

(Nepovinné) Číselný výraz určující pozici, od které má hledání začít. Jestliže tento argument vynecháte, začne hledání na pozici prvního znaku. Pokud má argument start hodnotu Null, dojde k chybě. V případě, že je zadán argument compare, je argument start povinný.

řetězec1

Povinné. Hledaný řetězcový výraz.

řetězec2

Povinný argument. Hledaný řetězcový výraz.

porovnání

Volitelné. Určuje typ Porovnání řetězců. Pokud porovnání hodnotu Null, dojde k chybě. Pokud vynecháte argument PorovnatmožnostPorovnat nastavení určuje typ porovnání. Zadejte platný LCID národního prostředí (LCID) v porovnání použití pravidel národního prostředí.

Tip : V aplikaci Access 2010 Tvůrce výrazů poskytuje IntelliSense, abyste viděli, jaké argumenty vyžaduje výraz.

Nastavení

Nastavení argumentu porovnání:

Konstanta

Hodnota

Popis

vbUseCompareOption

-1

Provádí porovnání s použitím nastavení příkazu Option Compare.

vbBinaryCompare

0

Provádí binární porovnání.

vbTextCompare

1

Provádí textové porovnání.

vbDatabaseCompare

2

Pouze v aplikaci Microsoft Office Access 2007. Provádí porovnání na základě informací v databázi.


Návratové hodnoty

Podmínka

Hodnota vrácená funkcí InStr

řetězec1 je nulové délky

0

řetězec1 má hodnotu Null

Null

řetězec2 je nulové délky

zahájení

řetězec2 má hodnotu Null

Null

řetězec2 nelze najít

0

řetězec2 je v řetězci řetězec1 obsažen

Pozice nalezení shody

Spustit > řetězec_2

0


Poznámky

V případě dat typu Byte obsažených v řetězci se používá funkce InStrB. Funkce InStrB nevrací pozici znaku prvního výskytu jednoho řetězce v jiném, ale pozici daného bajtu.

Příklady

Použití funkce inStr ve výrazu    Funkci InStr lze použít vždy, když lze použít výrazy. Chcete-li například zjistit umístění první tečky (.) v poli s adresou IP (s názvem AdresaIP, můžete k tomu následujícím způsobem použít funkci InStr:

InStr(1,[AdresaIP],".")

Funkce InStr postupně projde všechny hodnoty v poli AdresaIP a vrátí pozici první tečky. Pokud je tedy první část adresy IP 10., vrátí funkce hodnotu 3.

Pomocí dalších funkcí zpracovávajících výstup funkce InStr pak můžete následovně získat část adresy IP před první tečkou:

Left([AdresaIP],(InStr(1,[AdresaIP],".")-1))

V uvedeném příkladu vrátí příkaz InStr(1,[AdresaIP],".") pozici první tečky. Odečtení 1 označuje, kolik znaků je před první tečkou. V našem případě jsou to dva znaky. Funkce Left pak extrahuje zadaný počet znaků z levé části pole AdresaIP a vrátí hodnotu 10.

Použití Funkce InStr v kódu jazyka VBA   

Poznámka : Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

V tomto příkladu je pomocí funkce InStr vrácena pozice prvního výskytu jednoho řetězce v jiném.

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.

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

Děkujeme vám za zpětnou vazbu.

×