func, state, val = PatternFindStr(s$, pat$[, encoding])
s$
nach dem in pat$
angegebenen Muster zu analysieren. Wegen der generischen For-Anweisung
gibt PatternFindStr()
drei Werte zurück: Eine Iterator-Funktion
func
, einen privaten Zustandswert state
und einen Anfangswert
val
. Bei jedem Aufruf wird die Iterator-Funktion gemäß dem
Muster pat$
die Zeichenkette s$
analysieren und die nächste
Übereinstimmung zurückgeben. Wenn in pat$
nichts angegeben
wird, dann wird bei jedem Aufruf eine Übereinstimmung gefunden.
Das in pat$
angegeben Muster muss dem Mustersyntax entsprechen,
wie sie in der Dokumentation des Befehls PatternReplaceStr()
beschrieben wird. Siehe PatternReplaceStr für Details.
Siehe Generische Version der For-Anweisung für Details.
Ab Hollywood 6.0 ist dieser Befehl auch in einer Version erhältlich,
die ohne generische For-Anweisung verwendet werden kann. Also,
wenn Sie nur das erste Resultat brauchen, welches Ihnen pat$
aus s$
liefert, dann möchten Sie vielleicht stattdessen
PatternFindStrDirect() verwenden. Siehe PatternFindStrDirect 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.
Siehe auch PatternFindStrShort().
s$ = "Hello World from Hollywood" For w$ In PatternFindStr(s$, "%a+") Do DebugPrint(w$)Der obige Code analysiert alle Wörter in der Zeichenkette s$ und gibt eines pro Zeile aus.
t = {} s$ = "Name=Andreas, Sex=Male, Nationality=German" For k, v in PatternFindStr(s$, "(%w+)=(%w+)") Do t[k] = vDas obige Beispiel sammelt alle Paare Schlüssel=Wert aus der angegebenen Zeichenfolge in einer Tabelle.