Softanza
DémarrerEnglish
Softanza
Référence · stzString

Section()

The substring from position n1 to n2 (inclusive, codepoint-aware).

aussi: substring slice part portion extract characters between two positions

aussi écrite: Slice

Exemples de base (2)

Softanza
# 456
? StzStringQ("123456789").Section(4, 6)
Sortie
456

exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 788_section.ring(s'ouvre dans un nouvel onglet)

Softanza
# chars 1..6
? Q("NEXTAV TUNISIA").Section(:From = 1, :To = 6)
Sortie
NEXTAV

exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 521_section.ring(s'ouvre dans un nouvel onglet)

Portée (8)

Softanza
o1 = new stzString("123456789")
# -3 counts from the end
? o1.SectionXT(3, -3)
Sortie
34567

exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 405_sectionxt.ring(s'ouvre dans un nouvel onglet)

Softanza
o1 = new stzString("216;TUNISIA;227;NIGER")
# the field after the first ;
? o1.Section(5, o1.NextOccurrence( :Of = ";", :StartingAt = 5 ) - 1)
Sortie
TUNISIA

exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 698_section.ring(s'ouvre dans un nouvel onglet)

Softanza
o1 = new stzString("123456789")
# 5 to 3 reads backwards
? o1.SectionXT(5, 3)
# 5 with length 3 reads forward
? o1.SectionXT(5, -3)
Sortie
543
567

exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 986_sectionxt.ring(s'ouvre dans un nouvel onglet)

Softanza
o1 = new stzString("softanza")
# Section(4, 6) is 'tan'
? o1.Section(4, 6)
# Section(6, 4) auto-orders to the same
? o1.Section(6, 4)
Sortie
tan
tan

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de 152_section.ring(s'ouvre dans un nouvel onglet)

Softanza
o1 = new stzString("12345678")
# Section(3, 5) spans positions 3..5
? o1.Section(3, 5)
# Section(5, 3) auto-orders to the same span
? o1.Section(5, 3)
Sortie
345
345

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de 18_section.ring(s'ouvre dans un nouvel onglet)

Softanza
o1 = new stzString("<<♥♥♥>>--<<stars>>--<<♥♥♥>>")
# BetweenIB(3, 5) is the heart run
? o1.BetweenIB(3, 5)
# Section(3, 5) gives the same
? o1.Section(3, 5)
Sortie
♥♥♥
♥♥♥

exécuté le 2026-10-02 04:23 dans la bibliothèque au commit 0e72e2e2c ; tiré de 185_betweenib.ring(s'ouvre dans un nouvel onglet)

Softanza
# 4 mirrored is a single char
? Q("SOFTANZA").Section(4, :@)
# the 3rd-to-last mirrored
? Q("SOFTANZA").Section(:NthToLast = 3, :@)
# both mirrored is everything
? Q("SOFTANZA").Section(:@, :@)
Sortie
T
A
SOFTANZA

exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 523_section.ring(s'ouvre dans un nouvel onglet)

Softanza
o1 = new stzString("what a <<nice>>> day!")
# a single char
? o1.Section(3, 3)
# the word
? o1.Section(10, 13)
# reversed indexes auto-order
? o1.Section(13, 10)
Sortie
a
nice
nice

exécuté le 2026-10-02 04:24 dans la bibliothèque au commit 0e72e2e2c ; tiré de 531_section.ring(s'ouvre dans un nouvel onglet)

et 9 autres dans les tests

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).

Extension
Existe
Ce qu'elle ajoute · Les noms
Q
oui
fait ce que fait la méthode, puis rend l'objet, pour que l'appel puisse s'enchaîner · SliceQ, SectionQ, SliceXTQ, SectionXTQ
QQ
non
enchaîne sur le type d'objet suivant, plus précis (l'échelle des Q)
QQQ
non
enchaîne sur le type d'objet le plus précis (l'échelle des Q)
QRT
non
rend le résultat comme un objet du type demandé
CS
non
prend un indicateur de sensibilité à la casse
ST
non
prend la position de départ (StartingAt)
IB
non
prend des bornes incluses (IncludingBounds)
XT
oui
la forme étendue : plus de paramètres que la méthode de base · SliceXT, SectionXT, SliceXTQ, SectionXTQ
XTT
non
encore une extension : une forme étendue de plus, après XT
Z
non
inclut la position dans ce qu'elle rend
ZZ
non
rend les positions comme des sections, [début, fin]
W
non
choisit selon une condition
WF
non
choisit selon une condition, avec les mots-clés expressifs (@NextItem, @PreviousItem...)
D
non
prend une direction, en avant ou en arrière (Directional)
F
non
prend une fonction (la condition ou la mise à jour est donnée comme une fonction) ; le document des formes emploie aussi F pour la forme future, qui diffère l'action
Many
non
travaille sur une collection d'éléments au lieu d'un seul (la forme plurielle)
Except
non
prend des exceptions, ce qu'il faut laisser de côté (la forme exceptionnelle)
U
non
rend le résultat sans doublon

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