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; 54 were composed from each method's signature and run for this page, on a fresh object, for example o1 = new stzStringList([ "tea", "rice", "fish" ]). 38 methods have none yet. Examples run on 2026-10-03 20:34 inside the library at commit 0e72e2e2c.
Method
Explanation, as the source carries it
init
Build the string-list object from the given list of strings.no extension
Content
(Doc()/Ask()/AskFor()/ExplainMethod() are inherited from stzObject.)no extension
Copy
A new stzStringList with the same strings.no extension
NumberOfStrings
How many strings the list holds.
also written: Sizecomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.NumberOfStrings()
#--> 3
composed from the signature, run for this page no extensionNthString
The string at position n.
also written: Stringcomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.NthString(2)
#--> rice
composed from the signature, run for this page no extensionFirstString
The first string of the list.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.FirstString()
#--> tea
composed from the signature, run for this page no extensionLastString
The last string of the list.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.LastString()
#--> fish
composed from the signature, run for this page no extensionAdd
Add the given string at the end of the list (mutating).
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.Add("a")
? @@( o1.Content() )
#--> [ "tea", "rice", "fish", "a" ]composed from the signature, run for this page QCSXTZZZIBWUPrepend
Insert the given string at the start of the list (mutating).
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.Prepend("a")
? @@( o1.Content() )
#--> [ "a", "tea", "rice", "fish" ]composed from the signature, run for this page QCSXTZZZIBWURemoveAt
Remove the string at position n (mutating).
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.RemoveAt(2)
? @@( o1.Content() )
#--> [ "tea", "fish" ]
composed from the signature, run for this page QCSXTZZZIBWUReplaceAt
Replace the string at position n with the given one (mutating).
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.ReplaceAt(2, "AN")
? @@( o1.Content() )
#--> [ "tea", "AN", "fish" ]
composed from the signature, run for this page QCSXTZZZIBWUUpdate
Replace the whole content with the given list of strings (mutating; the single update point).QCSXTZZZIBWU
Concat
All the strings concatenated into one string.
also written: Joined · Concatenatedcomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.Concat()
#--> tearicefish
composed from the signature, run for this page QCSXTZZZIBWUConcatUsing
The strings concatenated with the given separator between them.
also written: JoinedUsing · ConcatenatedUsingcomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.ConcatUsing(" ")
#--> tea rice fishcomposed from the signature, run for this page no extensionContains
Same as ContainsCS: TRUE if one of the strings equals pcStr.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.Contains("a")
#--> 0composed from the signature, run for this page QCSXTZZZIBWUContainsSubString
contains substring in any string
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.ContainsSubString("a")
#--> 1composed from the signature, run for this page QCSXTZZZIBWUFind
Same as FindCS: The positions of every string equal to pcStr, as a list.QCSXTZZZIBWU
FindFirst
The position of the first string equal to pcStr (0 if none).
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.FindFirst("a")
#--> 0composed from the signature, run for this page QCSXTZZZIBWUFindLast
The position of the last string equal to pcStr (0 if none).
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.FindLast("a")
#--> 0composed from the signature, run for this page QCSXTZZZIBWUFindString
Same as FindCS: The positions of every string equal to pcStr, as a list.QCSXTZZZIBWU
FindNthOccurrence
Same as FindNthOccurrenceCS: The position of the Nth string equal to pcStr, or 0 when there are fewer than N of them.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.FindNthOccurrence(2, "a")
#--> 0
composed from the signature, run for this page QCSXTZZZIBWUNumberOfOccurrence
Same as NumberOfOccurrenceCS: How many strings EQUAL pcStr.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.NumberOfOccurrence("a")
#--> 0composed from the signature, run for this page QCSXTZZZIBWUNumberOfOccurrences
Same as NumberOfOccurrenceCS: How many strings EQUAL pcStr.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.NumberOfOccurrences("a")
#--> 0composed from the signature, run for this page no extensionNumberOfOccurrenceOfSubString
Same as NumberOfOccurrenceOfSubStringCS: How many times pcSubStr occurs INSIDE the strings, summed over all of them -- a different question from the one above, and the reason both names exist.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.NumberOfOccurrenceOfSubString("a")
#--> 1composed from the signature, run for this page QCSXTZZZIBWUDuplicatedStrings
Same as DuplicatedStringsCS: The strings that appear more than once, each named ONCE and in the order of their first appearance.QCSXTZZZIBWU
RemoveAll
Same as RemoveAllCS: Every string equal to pcStr goes. Walks BACKWARDS: removing forwards shifts the positions still to be visited, which is how this kind of loop silently skips a neighbouring duplicate.QCSXTZZZIBWU
RemoveFirst
Same as RemoveFirstCS: Only the FIRST one goes.QCSXTZZZIBWU
RemoveFirstString
No argument: drop whatever sits first, whatever it is.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.RemoveFirstString()
? @@( o1.Content() )
#--> [ "rice", "fish" ]
composed from the signature, run for this page QCSXTZZZIBWURemoveLastString
(no comment in the source: the name reads as a sentence) remove last stringin the section the vocabulary the tests already speakcomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.RemoveLastString()
? @@( o1.Content() )
#--> [ "tea", "rice" ]
composed from the signature, run for this page QCSXTZZZIBWU RemoveNthOccurrence
(no comment in the source: the name reads as a sentence) remove nth occurrencein the section the vocabulary the tests already speakQCSXTZZZIBWU
RemoveStringAtPosition
(no comment in the source: the name reads as a sentence) remove string at positionin the section the vocabulary the tests already speakcomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.RemoveStringAtPosition(2)
? @@( o1.Content() )
#--> [ "tea", "fish" ]
composed from the signature, run for this page QCSXTZZZIBWU RemoveNthString
The test file says it plainly: "RemoveNthString(3) # or RemoveStringAtPosition(3)". Both spellings, one implementation.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.RemoveNthString(2)
? @@( o1.Content() )
#--> [ "tea", "fish" ]
composed from the signature, run for this page QCSXTZZZIBWURemoveStringsAtThesePositions
Positions are read against the ORIGINAL list, so they are sorted and applied from the back. Taking them in the order given would make each removal shift the ones after it.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.RemoveStringsAtThesePositions([ 2, 3 ])
? @@( o1.Content() )
#--> [ "tea" ]
composed from the signature, run for this page QCSXTZZZIBWURemoveMany
(no comment in the source: the name reads as a sentence) remove manyin the section the vocabulary the tests already speakQCSXTZZZIBWU
RemoveEmptyStrings
An empty string is "", not a string of spaces -- RemoveSpaces() above is the one that judges whitespace.QCSXTZZZIBWU
ReplaceString
Same as ReplaceStringCS: Every string equal to pcOld becomes pcNew.QCSXTZZZIBWU
ReplaceManyOneByOne
Same as ReplaceManyOneByOneCS: The two lists must be the same length; a mismatch replaces nothing rather than guessing which pairing was meant.QCSXTZZZIBWU
Move
Both arguments arrive as named pairs, so the number is the SECOND element. A bare number is accepted too, for callers who do not need the ceremony.QCSXTZZZIBWU
Swap
Swap( :BetweenString = 1, :AndString = 2 )QCSXTZZZIBWU
FindAll
Same as FindCS: The positions of every string equal to pcStr, as a list.QCSXTZZZIBWU
WordsSortingOrders
:Ascending, :Descending, or :Unsorted for neither. A string of fewer than two words is :Ascending -- there is no pair to be out of order, and calling it unsorted would read as a complaint.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? @@( o1.WordsSortingOrders() )
#--> [ "ascending", "ascending", "ascending" ]
composed from the signature, run for this page QCSXTZZZIBWUNumberOfStringsWhereWordsAreSortedInAscending
How many strings fall in each verdict. Counted from the one list above so the three can never disagree with it, or with each other -- they sum to NumberOfStrings() by construction.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.NumberOfStringsWhereWordsAreSortedInAscending()
#--> 3
composed from the signature, run for this page no extensionNumberOfStringsWhereWordsAreSortedInDescending
(no comment in the source: the name reads as a sentence) number of strings where words are sorted in descendingin the section the vocabulary the tests already speakcomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.NumberOfStringsWhereWordsAreSortedInDescending()
#--> 0
composed from the signature, run for this page no extension NumberOfStringsWhereWordsAreUnsorted
(no comment in the source: the name reads as a sentence) number of strings where words are unsortedin the section the vocabulary the tests already speakcomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.NumberOfStringsWhereWordsAreUnsorted()
#--> 0
composed from the signature, run for this page no extension IsUppercase
TRUE when EVERY string is uppercase. An empty list answers FALSE: there is no string in it that is uppercase, and answering TRUE for "all of nothing" reads as a claim about content that is not there.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.IsUppercase()
#--> 0
composed from the signature, run for this page no extensionIsLowercase
(no comment in the source: the name reads as a sentence) is lowercasein the section the vocabulary the tests already speakcomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.IsLowercase()
#--> 1
composed from the signature, run for this page no extension ContainsSubstringInEachString
Same as ContainsSubstringInEachStringCS: TRUE when the substring is in EVERY string -- not merely in one of them, which is what ContainsSubString() above answers.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.ContainsSubstringInEachString("a")
#--> 0composed from the signature, run for this page QCSXTZZZIBWUWordsOfEachStringAreSortedInAscending
A string of one word is trivially in order, so a list of them answers TRUE; an EMPTY list answers FALSE, matching IsUppercase above rather than claiming something about content that is not there.
also written: WordsOfEachStringSortedInAscendingcomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.WordsOfEachStringAreSortedInAscending()
#--> 1
composed from the signature, run for this page no extensionWordsOfEachStringAreSortedInDescending
(no comment in the source: the name reads as a sentence) words of each string are sorted in descendingalso written: WordsOfEachStringSortedInDescendingin the section the vocabulary the tests already speakcomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.WordsOfEachStringAreSortedInDescending()
#--> 1
composed from the signature, run for this page no extension SortInAscending
Same as SortInAscendingCS: Sort the strings in ascending order in place (mutating).
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.SortInAscending()
? @@( o1.Content() )
#--> [ "fish", "rice", "tea" ]
composed from the signature, run for this page QCSXTZZZIBWUSortUp
Same as SortInAscending: Same as SortInAscendingCS: Sort the strings in ascending order in place (mutating).
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.SortUp()
? @@( o1.Content() )
#--> [ "fish", "rice", "tea" ]
composed from the signature, run for this page no extensionSortedInAscending
Same as SortedInAscendingCS: An ascending-sorted copy; the original is unchanged.
also written: SortedUpcomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? @@( o1.SortedInAscending() )
#--> [ "fish", "rice", "tea" ]
composed from the signature, run for this page QCSXTZZZIBWUSorted
Sorted() shorthand -- default ascending case-sensitive sort, used by narrative one-liners like `o.Sorted()` that don't distinguish direction.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? @@( o1.Sorted() )
#--> [ "fish", "rice", "tea" ]
composed from the signature, run for this page no extensionWithoutSpaces
WithoutSpaces / WithoutSapces (Softanza intentionally accepts the misspelled form): return the content with every space removed from each string item.also written: TrimAll · WithoutSapcesno extension
SortInDescending
Sort the strings in descending order in place (mutating).QCSXTZZZIBWU
SortDown
Same as SortInDescending: Sort the strings in descending order in place (mutating).no extension
SortedInDescending
A descending-sorted copy; the original is unchanged.also written: SortedDownno extension
SortBy
SortBy(cExpr): sort by an eval'd expression where @string aliases the per-item string. Pre-compute keys once, then insertion-sort over (key, value) pairs.QCSXTZZZIBWU
Reverse
Reverse the order of the strings in place (mutating).
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
o1.Reverse()
? @@( o1.Content() )
#--> [ "fish", "rice", "tea" ]
composed from the signature, run for this page QCSXTZZZIBWUReversed
The strings in reverse order, as a Haro list; the original is unchanged.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? @@( o1.Reversed() )
#--> [ "fish", "rice", "tea" ]
composed from the signature, run for this page no extensionUnique
unique (remove duplicates, engine-backed)QCSXTZZZIBWU
RemoveDuplicates
unique (remove duplicates, engine-backed)no extension
UniqueItems
unique (remove duplicates, engine-backed)also written: WithoutDuplicatesno extension
Filter
filter -- strings containing a substring
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? @@( o1.Filter("a") )
#--> [ "tea" ]composed from the signature, run for this page QCSXTZZZIBWUFilterByStartsWith
filter by starts-with / ends-withQCSXTZZZIBWU
FilterByEndsWith
filter by starts-with / ends-with
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? @@( o1.FilterByEndsWith("a") )
#--> [ "tea" ]composed from the signature, run for this page QCSXTZZZIBWUToUpper
Uppercase every string in place (mutating).QCSXTZZZIBWU
Uppercased
A copy with every string uppercased; the original is unchanged.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? @@( o1.Uppercased() )
#--> [ "TEA", "RICE", "FISH" ]
composed from the signature, run for this page no extensionToLower
Lowercase every string in place (mutating).QCSXTZZZIBWU
Lowercased
A copy with every string lowercased; the original is unchanged.no extension
MostSimilarTo
similarity (engine-backed jaro / jarowinkler)
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.MostSimilarTo("a")
#--> teacomposed from the signature, run for this page no extensionSimilarTo
similarity (engine-backed jaro / jarowinkler)QCSXTZZZIBWU
ToString
The strings joined with newlines, as one string.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.ToString()
#--> tea
#--> rice
#--> fish
composed from the signature, run for this page no extensionToListOfStzStrings
Each string wrapped as a stzString object, as a list.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? @@( o1.ToListOfStzStrings() )
#--> [ @noname, @noname, @noname ]
composed from the signature, run for this page no extensionToStzList
The strings as a stzList object.no extension
Split
Split each string on the given separator.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? @@( o1.Split(" ") )
#--> [ [ "tea" ], [ "rice" ], [ "fish" ] ]composed from the signature, run for this page no extensionTrim
Trim the spaces around each string in place (mutating).QCSXTZZZIBWU
Trimmed
A copy with each string trimmed; the original is unchanged.no extension
Matches
The strings matching the given regex pattern.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.Matches("a")
#--> 0composed from the signature, run for this page no extensionIsStzStringList
Always TRUE: the object IS a stzStringList.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.IsStzStringList()
#--> 1
composed from the signature, run for this page no extensionstzType
The Softanza type symbol: :stzStringList.
also written: ClassNamecomposed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.stzType()
#--> stzstringlist
composed from the signature, run for this page no extensionConcatenate
All the strings concatenated, no separator.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.Concatenate()
#--> tearicefish
composed from the signature, run for this page QCSXTZZZIBWUSpacesRemoved
The strings with their spaces removed, as data.no extension
ConcatenateUsing
Same as ConcatenateXT: Long-tail methods needed by the test suite.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.ConcatenateUsing(" ")
#--> tea rice fishcomposed from the signature, run for this page no extensionRemoveSpaces
Remove the spaces inside each string (mutating).QCSXTZZZIBWU
SubStrongs
Substrongs/Substrinks (deliberate Softanza wordplay): the strings that CONTAIN another item of the list, and the ones that are CONTAINED IN another item (case-sensitive, engine-backed find).no extension
SubStrinks
The items CONTAINED IN another item of the list -- the mirror of SubStrongs, not an alias of it (the old comment said "the substrings of each string", which describes neither).no extension
StringsW
The strings satisfying the given W expression.no extension
Yield
StringsW above answers WHICH strings matched; this answers what the condition said about each one, so the result lines up with Content() position for position. Same evaluation, two questions.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? @@( o1.Yield("@item > 3") )
#--> [ 0, 0, 0 ]composed from the signature, run for this page QCSXTZZZIBWUThatContain
Lexical (non-semantic) selection over a list of fragments -- substring membership and word-length ranking -- so chains like Q(text).WordsQ().ThatContain("ing").Longest() read naturally. These are STRING ops (any list of strings has them). MEANING-based selection (MostSimilarByMeaning, ThatAre by sentiment) lives on stzListOfTexts, the list-of-texts domain -- because that is natural processing, not a string op. Fragments that contain pcSub (engine-backed, codepoint-safe).
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? @@( o1.ThatContain("a") )
#--> [ "tea" ]composed from the signature, run for this page QCSXTZZZIBWULongest
The string with the MOST words.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.Longest()
#--> tea
composed from the signature, run for this page no extensionShortest
The string with the FEWEST words.
composed example
o1 = new stzStringList([ "tea", "rice", "fish" ])
? o1.Shortest()
#--> tea
composed from the signature, run for this page no extension