Under each method, its extensions (Q CS XT Z ZZ IB W U): bold and ticked, it exists; struck, it does not. The extensions and what they mean
Examples: 0 come from the library's tests; 6 were composed from each method's signature and run for this page, on a fresh object, for example o1 = new stzStringReplacer("Hello 123 World 456"). 40 methods have none yet. Examples run on 2026-10-03 12:54 inside the library at commit 0e72e2e2c.
Method
Explanation, as the source carries it
init
initializationno extension
Content
content accessno extension
NumberOfChars
content access
composed example
o1 = new stzStringReplacer("Hello 123 World 456")
? o1.NumberOfChars()
#--> 19composed from the signature, run for this page no extensionIsEmpty
content access
composed example
o1 = new stzStringReplacer("Hello 123 World 456")
? o1.IsEmpty()
#--> 0composed from the signature, run for this page no extensionReplace
replace -- all occurrencesQCSXTZZZIBWUMany
Replaced
replace -- all occurrencesQCSXTZZZIBWU
ReplaceByMany
Same as ReplaceByManyCS: ReplaceByMany: replace successive occurrences of pcSubStr with a list of distinct replacements; the i-th occurrence is replaced by the i-th entry in pacNewSubStr. If there are more occurrences than replacements the extras are left untouched. Ported from archive line 41947; uses This.FindCS to get positions and a tail-first replace so earlier offsets stay valid.QCSXTZZZIBWU
ReplaceNth
replace nth occurrenceQCSXTZZZIBWU
ReplaceFirst
replace first occurrenceQCSXTZZZIBWU
ReplaceLast
replace last occurrenceQCSXTZZZIBWU
Remove
remove -- allQCSXTZZZIBWUMany
Removed
remove -- allQCSXTZZZIBWU
RemoveNth
Same as RemoveNthCS: RemoveNthCS: engine-backed. The Zig implementation walks the byte stream in one pass and rebuilds the string without the Nth match -- no intermediate ReplaceNthCS allocation, no Haro-side loop. Case-sensitive only at present; the CS variant exists for naming consistency with the rest of the Remove* family. (Insensitive matching will route through StzEngineStringRemoveNthCI once it lands on the engine side; until then it falls back to ReplaceNthCS for pCaseSensitive=0.)QCSXTZZZIBWU
RemoveNthOccurrence
Softanza universal naming: RemoveNthOccurrence{,CS} are the long-form aliases. The "Engine"-flavoured form that used to exist (RemoveNthOccurrenceEngine) has been folded into RemoveNthCS itself -- callers should never need to know whether the work lives in Haro or Zig.QCSXTZZZIBWU
RemoveFirst
Same as RemoveFirstCS: Same as RemoveNthCS: RemoveNthCS: engine-backed. The Zig implementation walks the byte stream in one pass and rebuilds the string without the Nth match -- no intermediate ReplaceNthCS allocation, no Haro-side loop. Case-sensitive only at present; the CS variant exists for naming consistency with the rest of the Remove* family. (Insensitive matching will route through StzEngineStringRemoveNthCI once it lands on the engine side; until then it falls back to ReplaceNthCS for pCaseSensitive=0.)QCSXTZZZIBWU
RemoveLast
remove nth/first/lastQCSXTZZZIBWU
InsertBefore
insert before / afterQCSXTZZZIBWU
InsertAfter
insert before / afterQCSXTZZZIBWU
Surround
surroundQCSXTZZZIBWU
Surrounded
surround
composed example
o1 = new stzStringReplacer("Hello 123 World 456")
? o1.Surrounded("an", "an")
#--> anHello 123 World 456ancomposed from the signature, run for this page no extensionRemoveWhitespace
remove whitespace
composed example
o1 = new stzStringReplacer("Hello 123 World 456")
o1.RemoveWhitespace()
? o1.Content()
#--> Hello123World456composed from the signature, run for this page QCSXTZZZIBWUWhitespaceRemoved
remove whitespace
composed example
o1 = new stzStringReplacer("Hello 123 World 456")
? o1.WhitespaceRemoved()
#--> Hello123World456composed from the signature, run for this page no extensionSqueezeChar
squeeze charQCSXTZZZIBWU
CharSqueezed
squeeze charno extension
ReplaceCharCP
replace char (codepoint)QCSXTZZZIBWU
CharReplacedCP
replace char (codepoint)no extension
ReplaceAnyChar
replace any charQCSXTZZZIBWU
AnyCharReplaced
replace any charno extension
ReplaceAt
replace at positionQCSXTZZZIBWU
ReplaceBetween
replace between markersQCSXTZZZIBWU
BetweenReplaced
replace between markersno extension
ReplaceFirstBetween
replace first between markersQCSXTZZZIBWU
FirstBetweenReplaced
replace first between markersno extension
ReplaceSubstring
replace substring (range)QCSXTZZZIBWU
Replace2
replace two pairsQCSXTZZZIBWU
ReplaceCharAt
replace char at positionQCSXTZZZIBWU
CharReplacedAt
replace char at positionno extension
Spacify
spacifyQCSXTZZZIBWU
Spacified
spacify
composed example
o1 = new stzStringReplacer("Hello 123 World 456")
? o1.Spacified()
#--> H e l l o 1 2 3 W o r l d 4 5 6composed from the signature, run for this page no extensionStripMarks
strip marksQCSXTZZZIBWU
MarksStripped
strip marksalso written: StrippedOfMarksno extension
ReplaceAllRegex
regex replace allQCSXTZZZIBWU
ReplaceRegex
regex replace allno extension
AllRegexReplaced
regex replace allalso written: RegexReplacedno extension