Split()
Split the string into a list of parts around a separator.
aussi: split separate tokenize break apart delimiter explode cut into parts separate tokenize break apart cut into parts explode divide on
Exemples de base (2)
# Split on the literal hyphen
? @@( Q("ONE-TWO-THREE").Split("-") )
# SplitW at every non-letter is equivalent
? @@( Q("ONE-TWO-THREE").SplitW('{ Q(@char).IsNotLetter() }') )[ "ONE", "TWO", "THREE" ] [ "ONE", "TWO", "THREE" ]
exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 438_split.ring(s'ouvre dans un nouvel onglet)
# SplitAtCharsW
? @@( Q("RingRingRing").SplitAtCharsW('Q(@char).IsUppercase()') )
# SplitW(:AtChars) is the same
? @@( Q("RingRingRing").SplitW(:AtChars = 'Q(@char).IsUppercase()') )[ "ing", "ing", "ing" ] [ "ing", "ing", "ing" ]
exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 442_splitatcharsw.ring(s'ouvre dans un nouvel onglet)
Portée (4)
o1 = new stzString("abc;123;gafsa;ykj")
# via SplitQ
? o1.SplitQ(";").NthItem(3)
# via the long natural name
? o1.NthSubstringAfterSplittingStringUsing(3, ";")gafsa gafsa
exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 748_split.ring(s'ouvre dans un nouvel onglet)
oAB = new stzString("ab")
big = new stzString( oAB.Repeated(1000000) )
oXC = new stzString("x,")
oCSV = new stzString( oXC.Repeated(200000) ) # 200,000 "x," pairs
# Split(',') yields 200,000 parts
? len(oCSV.Split(","))200000
exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 999_engine_string_millions_narrated.ring(s'ouvre dans un nouvel onglet)
# SplitW at uppercase drops the R's
? @@( Q("RingRingRing").SplitW('Q(@char).IsUppercase()') )
# SplitAtW is the same
? @@( Q("RingRingRing").SplitAtW('Q(@char).IsUppercase()') )
# the :At named param is the same
? @@( Q("RingRingRing").SplitW(:At = 'Q(@char).IsUppercase()') )[ "ing", "ing", "ing" ] [ "ing", "ing", "ing" ] [ "ing", "ing", "ing" ]
exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 439_splitw.ring(s'ouvre dans un nouvel onglet)
o1 = new stzString("abc" + nl + "de" + nl + "f")
# NumberOfChars counts every char incl. newlines
? o1.NumberOfChars()
# NumberOfLines is 3
? o1.NumberOfLines()
# SplitQ(NL).NumberOfItems agrees
? o1.SplitQ(nl).NumberOfItems()8 3 3
exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de 232_numberofchars.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.NthSubStringAfterSplittingStringUsing · stzString.NumberOfChars · stzString.NumberOfLines · stzString.SplitAt · stzString.SplitAtCharsW
- Comment faire : Découper une chaîne en parties selon un séparateur

