Reference · stzString
Sentences()
UAX#29 sentence segmentation (engine-backed), aligned with NumberOfSentences() -- correctly keeps "Dr. Smith", "3.14", "U.S.A." as one sentence rather than splitting on every '.'. Bulk native-list bridge (O(n)).
Basic examples (2)
Softanza
o1 = new stzString("The fox ran fast. Dr. Smith paid $3.14 today. It works.")
# three sentences, not split on 'Dr.' or '3.14'
? o1.NumberOfSentences()
# Sentences() list agrees with the count
? len(o1.Sentences())
# the middle sentence stays intact
? o1.NthSentence(2)Output
3 3 Dr. Smith paid $3.14 today.
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from text_query_layer_narrated.ring(opens in a new tab)
Softanza
o1 = new stzString("I love this wonderful product. The service was terrible and slow. It is a plain wooden chair.")
# SentencesQ() is the BASIC object (stzList)
? classname(o1.SentencesQ())
# SentencesQQ() is the first secondary type (stzListOfStrings)
? classname(o1.SentencesQQ())
# SentencesQQQ() is the most specific (stzListOfTexts)
? classname(o1.SentencesQQQ())
# MostSimilarByMeaning (a natural op) picks the closest sentence
? o1.SentencesQQQ().MostSimilarByMeaning("bad slow service")
# ThatAre filters sentences by sentiment
? @@(o1.SentencesQQQ().ThatAre("positive"))
# chain ThatAreQ -> Joined stays fluent
? o1.SentencesQQQ().ThatAreQ("positive").Joined()
# ThatContain (lexical) filters by substring
? @@(o1.SentencesQQ().ThatContain("chair"))
# NthString on the stzListOfStrings rung
? o1.SentencesQQ().NthString(2)
# WordsQ() is the BASIC object (stzList)
? classname(o1.WordsQ())
# WordsQQ().MostSimilarTo fuzzy-matches a typo (Jaro-Winkler)
? o1.WordsQQ().MostSimilarTo("wonderfull")Output
stzlist stzlistofstrings stzlistoftexts The service was terrible and slow. [ "I love this wonderful product." ] I love this wonderful product. [ "It is a plain wooden chair." ] The service was terrible and slow. stzlist wonderful
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from text_query_layer_narrated.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).
Extension
Exists
What it adds · The names
Q
yes
does what the method does, then returns the object, so the call can be chained · SentencesQ
QQ
yes
chains on the next, more specific type of object (the Q ladder) · SentencesQQ
QQQ
yes
chains on the most specific type of object (the Q ladder) · SentencesQQQ
QRT
no
returns the result as an object of the requested type
CS
no
takes a case-sensitivity flag
ST
no
takes the position to start from (StartingAt)
IB
no
takes bounds that are included (IncludingBounds)
XT
no
the extended form: more parameters than the base method
XTT
no
yet another extension: a further extended form, after XT
Z
no
includes the position in what it returns
ZZ
no
returns positions as sections, [start, end]
W
no
selects by a condition
WF
no
selects by a condition, with the expressive keywords (@NextItem, @PreviousItem...)
D
no
takes a direction, forward or backward (Directional)
F
no
takes a function (the condition or the update is given as a function); the forms document also uses F for the future form, which defers the action
Many
no
works on a collection of items instead of one (the plural form)
Except
no
takes exceptions, what to leave out (the exceptional form)
U
no
returns the result without duplication
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.
See also
- The class stzString
- The area's reference: String
- The other methods in these examples: stzString.NthSentence · stzString.NumberOfSentences · stzString.Words

