FindPrevious()
FindPrevious(pcSub, nFrom): mirror of NextOccurrence -- highest position strictly before nFrom.
Exemples de base (2)
o1 = new stzString("[••[•[••]•[•]]••[••]]")
? o1.FindNext("[", :StartingAt = 17)
? o1.FindPrevious("]", :StartingAt = 13)0 9
exécuté le 2026-10-02 04:22 dans la bibliothèque au commit 0e72e2e2c ; tiré de 307_findnext.ring(s'ouvre dans un nouvel onglet)
o1 = new stzString("12♥4♥67")
# previous from 5
? o1.FindPrevious("♥", :StartingAt = 5)
# 2nd previous from 6
? o1.FindNthPrevious(2, "♥", :StartingAt = 6)3 3
exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 988_findprevious.ring(s'ouvre dans un nouvel onglet)
Portée (4)
o1 = new stzString("12♥♥♥67♥♥♥12♥♥♥")
# the 1st from position 3 is 3 itself
? o1.FindNthST(1, "♥♥♥", :StartingAt = 3)
# the next after 3
? o1.FindNext("♥♥♥", :StartingAt = 3)
# the previous before 10 must END before 10
? o1.FindPrevious("♥♥♥", :StartingAt = 10)3 8 3
exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 316_findnthst.ring(s'ouvre dans un nouvel onglet)
o1 = new stzString("..•.•..")
? o1.FindNext("•", :StartingAt = 3)
? o1.FindNextNth(2, "•", :StartingAt = 2)
? o1.FindNextNth(2, "•", :StartingAt = 3)
? o1.FindPrevious("•", :StartingAt = 5)
? o1.FindPreviousNth(2, "•", :StartingAt = 7)
? o1.FindPreviousNth(1, "•", :StartingAt = 5)
? o1.FindPreviousNth(2, "•", :StartingAt = 5)5 5 0 3 3 3 0
exécuté le 2026-10-02 04:22 dans la bibliothèque au commit 0e72e2e2c ; tiré de 304_findnext.ring(s'ouvre dans un nouvel onglet)
o1 = new stzString("12•4•67")
# next after 3
? o1.FindNext("•", :StartingAt = 3)
# no 2nd next after 3
? o1.FindNextNth(2, "•", :StartingAt = 3)
# previous before 5
? o1.FindPrevious("•", :StartingAt = 5)
# no 2nd previous before 5
? o1.FindPreviousNth(2, "•", :StartingAt = 5)5 0 3 0
exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 989_findnext.ring(s'ouvre dans un nouvel onglet)
o1 = new stzString("•••••••••")
# FindNext('') is 0
? o1.FindNext("", :StartingAt = 1)
# FindNext('x') (absent) is 0
? o1.FindNext("x", :StartingAt = 1)
# FindNext('•', from 5) is 6
? o1.FindNext("•", :StartingAt = 5)
# FindNthNext(6, '•', from 3) is 9
? o1.FindNthNext(6, "•", :StartingAt = 3)
# FindNthNext(5, '•', from 1) is 6
? o1.FindNthNext(5, "•", :StartingAt = 1)
# FindPrevious('•', from 5) is 4
? o1.FindPrevious("•", :StartingAt = 5)
# FindPrevious('•', from 2) is 1
? o1.FindPrevious("•", :StartingAt = 2)
# FindNthPrevious(8, '•', from 9) is 1
? o1.FindNthPrevious(8, "•", :StartingAt = 9)
# FindNthPrevious(3, '•', from 4) is 1
? o1.FindNthPrevious(3, "•", :StartingAt = 4)0 0 6 9 6 4 1 1 1
exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de 236_findnext.ring(s'ouvre dans un nouvel onglet)
Les extensions de cette méthode
Chaque extension, et si elle existe pour cette méthode ; une extension qui existe se compose avec les autres (FindSTCS).
Chaque exemple est un fichier de test de la bibliothèque, exécuté dans la bibliothèque pour cette page ; seuls ceux dont la sortie a tenu toutes les promesses écrites par leur fichier sont montrés. Les explications, les titres et le code sont ceux de la bibliothèque, en anglais.
Voir aussi
- La classe stzString
- La référence du domaine : Chaînes de caractères
- Les autres méthodes de ces exemples : stzString.FindNext · stzString.FindNextNth · stzString.FindNth · stzString.FindNthNext · stzString.FindNthPrevious · stzString.FindPreviousNth

