start, end, ... = PatternFindStrDirect(s$, pat$[, start, encoding])
s$
angegebene Zeichenkette
gemäß dem in pat$
angegebenen Muster. Wenn es eine Übereinstimmung
gibt, werden die Indizes, von denen die Übereinstimmung in der
Quellzeichenkette beginnt und endet, zusammen mit allen aufgezeichneten
Zeichenfolgen zurückgegeben. Wenn keine Übereinstimmung vorhanden
ist, gibt PatternFindStrDirect()
-1 zurück. Das optionale Argument
start
kann verwendet werden, um ein Zeichenindex innerhalb von
s$
anzugeben, an dem die Suche beginnen soll. Die Voreinstellung
ist 0, was bedeutet, dass PatternFindStrDirect()
am Anfang
von s$
beginnen wird.
Dieser Befehl funktioniert genauso wie PatternFindStr(), erfordert
aber keine generische For-Anweisung. Stattdessen werden alle
Übereinstimmungen zusammen mit den Start- und Endindizes zurückgegeben.
Beachten Sie jedoch, dass PatternFindStrDirect()
nicht innerhalb
einer generischen For-Anweisung funktioniert, so dass nur das
erste Vorkommen von pat$
innerhalb s$
behandelt wird.
Wenn Sie die Start- und Endindizes nicht benötigen, können Sie stattdessen den Befehl PatternFindStrShort() verwenden. Siehe PatternFindStrShort für Details.
Das Muster in pat$
muss dem Muster-Syntax entsprechen, wie
sie in der Dokumentation des Befehls PatternReplaceStr()
beschrieben wird. Siehe PatternReplaceStr für Details.
Mit dem optionalen Parameter encoding
kann die zu verwendende
Zeichencodierung festgelegt werden. Dies ist standardmäßig auf
die Standardcodierung eingestellt, die mit SetDefaultEncoding()
eingestellt ist. Siehe Zeichencodierungen für Details.
s$
oder -1 für keine Übereinstimmungs$
DebugPrint(PatternFindStrDirect("Name=Andreas", "(%w+)=(%w+)"))Das obige Beispiel gibt die Zeichenfolgen neben dem Gleichheitszeichen und den Bereich 0 bis 11 zurück, die die gesamte Quellzeichenfolge beschreibt.