Bezeichnung
PatternFindStrDirect -- analysiert eine Zeichenkette anhand der Musterübereinstimmung (V6.0)
Übersicht
start, end, ... = PatternFindStrDirect(s$, pat$[, start, encoding])
Beschreibung
Dieser Befehl analysiert die in 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.

Eingaben
s$
Zeichenkette, die analysiert wird
pat$
Muster, nach dem die Zeichenfolge analysiert werden soll
start
optional: Position, an der die Suche beginnen soll (voreingestellt ist 0)
encoding
optional: Zeichencodierung, welche verwendet wird (voreingestellt ist die Standardcodierung) (V7.0)
Rückgabewerte
start
Position der ersten Übereinstimmung innerhalb von s$ oder -1 für keine Übereinstimmung
end
Position der letzten Übereinstimmung innerhalb von s$
...
einzelne Zeichenketten mit allen Übereinstimmungen
Beispiel
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.

Navigation zeigen