# Index - Skript- und Diagrammfunktion

Index() durchsucht einen String, um die Startposition des n-ten Vorkommens eines angegebenen Teilstrings zu ermitteln. Ein optionales drittes Argument liefert den Wert von n. Erfolgt keine Eingabe, wird 1 verwendet. Bei einem negativen Wert wird vom Ende des Strings aus gesucht. Die Positionen im String werden beginnend mit 1 aufsteigend nummeriert.

Syntax:

Index(text, substring[, count])

Rückgabe Datentyp: ganze Zahl

Argumente:

Argumente

| Argument | Beschreibung |
| --- | --- |
| text | Der Original-String. |
| substring | Ein String, nach dem in text gesucht werden soll.<br><br>InformationshinweisWenn der Teilstring nicht im Text vorhanden ist, gibt Index 0 zurück. |
| count | Definiert, nach welchem Vorkommen von substring gesucht werden soll. Beim Wert 2 wird beispielsweise nach dem zweiten Vorkommen gesucht. |

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Index.htm)

#### Beispiele und Ergebnisse:

| Beispiel | Ergebnis |
| --- | --- |
| Index( 'abcdefg', 'cd' ) | Liefert 3 |
| Index( 'abcdabcd', 'b', 2) | Liefert 6 (das zweite Vorkommen von 'b') |
| Index( 'abcdabcd', 'b',-2) | Liefert 2 (das zweite Vorkommen von 'b', vom Ende aus gerechnet) |
| `Left(   Date, Index( Date,'-') -1` ) where Date = 1997-07-14 | Liefert 1997 |
| `Mid(   Date, Index( Date, '-', 2 ) -2, 2 )` where Date = 1997-07-14 | Liefert 07 |
| Index('abc', 'x') | Liefert 0 („x“ ist im String „abc“ nicht vorhanden) |
| Index('abc', 'a', 2) | Gibt 0 zurück („a“ kommt kein zweites Mal vor) |

Beispiel: Skript

```
T1:
Load 
*, 
index(String, 'cd') as Index_CD,               // returns 3  in Index_CD
index(String, 'b') as Index_B,                // returns 2 in Index_B
index(String, 'b', -1) as Index_B2;           // returns 2 or 6 in Index_B2
Load * inline [
String
abcdefg
abcdabcd ]; 									
```