Sucht nach einem bestimmten Vorkommen einer Zeichenkette, beginnend von links oder rechts.
FundPos := InStr(Heuhaufen, Nadel , GroßKleinSensitiv := false, StartPos := 1, Vorkommen := 1)
Eine Zeichenkette, deren Inhalt durchsucht werden soll.
Der zu suchende Text.
Wenn der GroßKleinSensitiv-Parameter weggelassen wird oder 0 (false) ist, erfolgt die Suche nicht Groß-/Kleinschreibung-sensitiv (die Methode der Nichtsensitivität ist abhängig von StringCaseSense); ansonsten muss die Groß- und Kleinschreibung exakt übereinstimmen.
Lässt man StartPos weg, wird standardmäßig 1 verwendet (der Anfang von Heuhaufen). Ansonsten kann eine 2 angegeben werden, um beim zweiten Zeichen zu beginnen, eine 3, um beim dritten Zeichen zu beginnen, und so weiter.
Überschreitet StartPos die Länge von Heuhaufen, wird eine 0 zurückgegeben. [AHK_L 57+]: Wenn StartPos eine 0 oder negativ ist, erfolgt die Suche in umgekehrter Reihenfolge (von rechts nach links), beginnend beim Offset am Ende.
Egal welchen Wert man als StartPos verwendet - der Rückgabewert ist immer relativ zum ersten Heuhaufen-Zeichen. Zum Beispiel ist die Position von "abc" in "123abc789" immer 4.
Lässt man Vorkommen weg, wird standardmäßig die erste Übereinstimmung von Nadel in Heuhaufen verwendet. Fügen Sie eine 2 in Vorkommen ein, um die Position der zweiten Übereinstimmung zurückzugeben, eine 3 für die dritte Übereinstimmung und so weiter.
Diese Funktion gibt die Position der Zeichenkette Nadel zurück, die in der Zeichenkette Heuhaufen vorkommt. Position 1 ist das erste Zeichen; das liegt daran, dass 0 das Synonym für "falsch" ist, was sich gut als "nicht gefunden" eignet.
Das Vorkommen einer leeren Zeichenkette (""
) kann an jeder Position gefunden werden; das heißt, wenn Nadel eine leere Zeichenkette ist, wird 1 zurückgegeben. Normalerweise übergibt man keine leere Nadel, daher wird sie in AutoHotkey v2 als Fehler behandelt.
Diese Funktion ist eine Kombination aus IfInString und StringGetPos.
RegExMatch() ist flexibler als InStr(), wenn es darum geht, ein bestimmtes Suchmuster (regulärer Ausdruck) innerhalb einer Zeichenkette zu finden. Zum Finden einer einfachen Zeichenkette ist InStr() besser geeignet.
RegExMatch(), StringGetPos, IfInString, StringCaseSense, if Var in/contains VergleichListe, if Var between, if Var is Typ
Meldet die 1-basierte Position der Teilzeichenkette "abc" in der Zeichenkette "123abc789".
MsgBox % InStr("123abc789", "abc") ; Gibt 4 zurück
Sucht nach einer Nadel im Heuhaufen.
Heuhaufen := "The Quick Brown Fox Jumps Over the Lazy Dog" Nadel := "Fox" If InStr(Heuhaufen, Nadel) MsgBox, Die Zeichenkette wurde gefunden. Else MsgBox, Die Zeichenkette wurde nicht gefunden.
Demonstriert den Unterschied zwischen einer nicht-Groß-/Kleinschreibung-sensitiven und Groß-/Kleinschreibung-sensitiven Suche.
Heuhaufen := "The Quick Brown Fox Jumps Over the Lazy Dog" Nadel := "the" MsgBox % InStr(Heuhaufen, Nadel, false, 1, 2) ; nicht-Groß-/Kleinschreibung-sensitive Suche, gibt die Startposition des zweiten Vorkommens zurück MsgBox % InStr(Heuhaufen, Nadel, true) ; Groß-/Kleinschreibung-sensitive Suche, gibt die Startposition des ersten Vorkommens zurück, das gleiche Ergebnis wie oben