Referenz - INSTR
Syntax: INSTR ([Start,] String1, [ANY] String2)
Typ: Funktion
Kategorie: Stringfunktionen
INSTR prüft, ob 'String2' oder Teile davon in 'String1' vorkommt, und liefert die Position innerhalb 'String1' zurück.
- 'Start' ist eine INTEGER-Zahl, die angibt, von welchem Zeichen an 'String1' durchsucht werden soll. Wenn 'Start' ausgelassen wird, beginnt die Suche beim ersten Zeichen.
- 'String1' und 'String2' sind zwei Zeichenketten ( STRING, ZSTRING oder WSTRING).
- INSTR prüft, ob der gesamte 'String2' in 'String1' vorkommt. Wird die ANY-Klausel verwendet, prüft INSTR nur, ob irgendeines der Zeichen aus 'String2' vorkommt.
- Der Rückgabewert ist ein INTEGER, der die erste Position angibt, an der 'String2' bzw. Teile davon in 'String1' gefunden wurden. Falls keine Treffer erzielt werden, liefert INSTR den Wert 0 zurück.
Beispiel:
PRINT INSTR("abcdefg", "def")
PRINT INSTR(4, "Das Leben ist ein Hund", ANY "Wasser")
SLEEP
Ausgabe:
4
6
Beispiel 2: alle vorkommenden 'b' suchen
Dim teststring As String
Dim idx As Integer
teststring = "abababab"
idx = InStr(teststring, "b")
Do While idx > 0 'Falls nichts gefunden wird, wird die Schleife übersprungen
Print """b"" an Stelle " & idx
idx = InStr(idx + 1, teststring, "b")
Loop
Sleep
Hinweis: Die ANY-Klausel hat nichts mit dem Datentyp ANY zu tun
Unterschiede zu QB:
- Die ANY-Klausel ist neu in FreeBASIC.
- QB gibt 'Start' zurück, falls der Suchstring leer ist.
Plattformbedingte Unterschiede:
Unicode wird in der DOS-Portierung von FreeBASIC nicht unterstützt, deshalb können dort auch keine Unicode-Strings umgewandelt werden.
Unterschiede zu früheren Versionen von FreeBASIC:
Die ANY-Klausel kann seit FreeBASIC v0.15 eingesetzt werden.
Siehe auch:
INSTRREV, String-Funktionen
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|