ReplaceSectionsByMany()
ReplaceSectionsByMany(aSections, paReplacements): replace each [n1, n2] section in aSections with the corresponding replacement from paReplacements. Walks sections in reverse so earlier positions stay valid as later ones shift.
Basic examples (2)
o1 = new stzString("123---78--")
o1.ReplaceSectionsByMany([ [1, 3], [7, 8] ], [ "*", "~" ])
# shrunk
? o1.Content()*---~--
run on 2026-10-02 04:24 inside the library at commit 0e72e2e2c; taken from 969_content.ring(opens in a new tab)
o1 = new stzString("--345--89--")
o1.ReplaceSectionsByMany([ [3, 5], [8, 9] ], [ "*", "~" ])
# shrunk
? o1.Content()--*--~--
run on 2026-10-02 04:24 inside the library at commit 0e72e2e2c; taken from 968_content.ring(opens in a new tab)
Scope (5)
o1 = new stzString("123---789---")
o1.ReplaceSectionsByMany([ [1, 3], [7, 9] ], [ "^^^", "vvv" ])
# both replaced
? o1.Content()^^^---vvv---
run on 2026-10-02 04:24 inside the library at commit 0e72e2e2c; taken from 967_-------------.ring(opens in a new tab)
o1 = new stzString("--345--89---")
o1.ReplaceSectionsByMany([ [3, 5], [8, 9] ], [ "^^^", "^^" ])
# shape preserved
? o1.Content()--^^^--^^---
run on 2026-10-02 04:24 inside the library at commit 0e72e2e2c; taken from 965_content.ring(opens in a new tab)
o1 = new stzString("...456...012...678..")
o1.ReplaceSectionsByMany([ [ 4, 6 ], [ 10, 12 ], [ 16, 18 ] ],
[ "A", "BB", "CCC" ])
# each section renamed
? o1.Content()...A...BB...CCC..
run on 2026-10-02 04:24 inside the library at commit 0e72e2e2c; taken from 926_content.ring(opens in a new tab)
o1 = new stzString("---456----123--67---")
o1.ReplaceSectionsByMany(
[ [4, 6], [11, 13], [16, 17] ],
[ "^^^", "^^^", "^^" ]
)
# all three replaced
? o1.Content()---^^^----^^^--^^---
run on 2026-10-02 04:24 inside the library at commit 0e72e2e2c; taken from 961_content.ring(opens in a new tab)
o1 = new stzString("^---^---^---^---")
o1.ReplaceSectionsByMany(
[ [ 1, 1 ], [ 5, 5 ], [ 9, 9 ], [ 13, 14 ] ],
[ "1", "5", "9", "13" ]
)
# self-describing
? o1.Content()1---5---9---13--
run on 2026-10-02 04:24 inside the library at commit 0e72e2e2c; taken from 970_content.ring(opens in a new tab)
The extensions of this method
Each extension, and whether it exists for this method; an extension that exists combines with the others (FindSTCS).
Every example is a test file of the library, run inside the library for this page; only those whose output kept every promise their file wrote are shown.

