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

Replace()

Replace every occurrence of a substring with another.

aussi: replace substitute swap text find and replace change all rename substitute swap change find and replace put instead

Les formes de ce verbe

Replace · Replaced

Exemples de base (2)

Softanza
# Q(@char).IsNotLetter() targets the symbols, leaving spaced words
? Q("ABC♥DEF★GHI♥JKL").ReplaceWQ('Q(@char).IsNotLetter()', :With = " ").Content()
Sortie
ABC DEF GHI JKL

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

Softanza
o1 = new stzString("R I N G")
o1.Replace(" ", "-")
# Replace() mutates the object
? o1.Content()
Sortie
R-I-N-G

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

Portée (8)

Softanza
o1 = new stzString("a + b - c / d = 0")
o1.ReplaceMany([ "+", "-", "/" ], "*")
# all become *
? o1.Content()
Sortie
a * b * c * d = 0

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

Softanza
o1 = new stzString(" isNumber( 0+  @item  ) ")
o1.ReplaceMany([ "" ], 'any')
# the content is unchanged
? o1.Content()
Sortie
 isNumber( 0+  @item  )

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

Softanza
o1 = new stzString("~♥/♥\~~")
o1.ReplaceXT("♥", :At = 2, :With = "~")
# the heart at position 2 becomes '~'
? o1.Content()
Sortie
~~/♥\~~

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

Softanza
o1 = new stzString("one two three four")
o1.ReplaceMany([ "two", "four" ], :By = "---")
# both became dashes
? o1.Content()
Sortie
one --- three ---

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

Softanza
o1 = new stzString("_♥♥\__/♥\__/♥\_")
o1.ReplaceXT(:First, "♥", :With = "/")
# the first heart becomes a slash
? o1.Content()
Sortie
_/♥\__/♥\__/♥\_

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

Softanza
o1 = new stzString("a + b - c / d = 0")
o1.ReplaceMany([ "+", "-", "/" ], :By = "*")
# +, - and / all become *
? o1.Content()
Sortie
a * b * c * d = 0

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

Softanza
o1 = new stzString("_/♥\__/♥\__/♥♥_")
o1.ReplaceXT(:Last, "♥", :With = "\")
# the last heart becomes a backslash
? o1.Content()
Sortie
_/♥\__/♥\__/♥\_

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

Softanza
o1 = new stzString("~♥/♥\~♥")
o1.ReplaceXT("♥", :AtPositions = [2, 7], :With = "~")
# hearts at 2 and 7 become ~
? o1.Content()
Sortie
~~/♥\~~

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

et 12 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 · ReplaceQ, ReplaceWQ, ReplaceCSQ, ReplaceXTQ et 1 autres
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
oui
prend un indicateur de sensibilité à la casse · ReplaceCS, ReplaceCSQ, ReplaceManyCS, ReplaceManyCSQ
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 · ReplaceXT, ReplaceXTQ
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
oui
choisit selon une condition · ReplaceW, ReplaceWQ
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
oui
travaille sur une collection d'éléments au lieu d'un seul (la forme plurielle) · ReplaceMany, ReplaceManyCS, ReplaceManyCSQ
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