InStr()

Sucht nach einem bestimmten Vorkommen einer Zeichenkette, beginnend von links oder rechts.

Fundposition := InStr(Heuhaufen, Nadel , GroßKleinSensitiv := false, Startposition := 1, Vorkommen := 1)

Parameter

Heuhaufen

Eine Zeichenkette, deren Inhalt durchsucht werden soll.

Nadel

Der zu suchende Text.

GroßKleinSensitiv

Wenn der GroßKleinSensitiv-Parameter fehlt oder 0 (false) ist, ist die Suche nicht Groß-/Kleinschreibung-sensitiv (die Methode der Nichtsensitivität ist abhängig von StringCaseSense); ansonsten muss die Groß- und Kleinschreibung exakt übereinstimmen.

Startposition

Ist Startposition nicht vorhanden, gilt standardmäßig 1 (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 Startposition die Länge von Heuhaufen, wird eine 0 zurückgegeben. [AHK_L 57+]: Wenn Startposition 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 Startposition verwendet - der Rückgabewert ist immer relativ zum ersten Heuhaufen-Zeichen. Zum Beispiel wäre die Position von "abc" in "123abc789" immer 4.

Vorkommen [AHK_L 57+]

Fehlt Vorkommen, gilt standardmäßig die erste Übereinstimmung von Nadel in Heuhaufen. 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.

Rückgabewert

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.

Bemerkungen

Diese Funktion ist eine Kombination aus IfInString und StringGetPos.

RegExMatch() ist flexibler als InStr(), wenn es darum geht, ein bestimmtes Muster (regulärer Ausdruck) innerhalb einer Zeichenkette zu suchen. Zum Suchen einer einfachen Zeichenkette ist InStr() besser geeignet.

Siehe auch

RegExMatch(), StringGetPos, IfInString, StringCaseSense, if Var in/contains Vergleichsliste, if Var between, if Var is Typ

Beispiel

; Beispiel 1
MsgBox % InStr("123abc789","abc") ; Gibt 4 zurück

; Beispiel 2
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.

; Beispiel 3
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