An extension of the standard StringLabels. If you open Core.Std, you'll get these in the String module.
Caseless compares and hashes strings ignoring case, so that for example
Caseless.equal "OCaml" "ocaml" and Caseless.("apple" < "Banana") are true, and
Caseless.Map, Caseless.Table lookup and Caseless.Set membership is
case-insensitive.
String append. Also available unqualified, but re-exported here for documentation purposes.
Note that a ^ b must copy both a and b into a newly-allocated result string, so
a ^ b ^ c ^ ... ^ z is quadratic in the number of strings. String.concat does not
have this problem -- it allocates the result buffer only once. The Rope module
provides a data structure which uses a similar trick to achieve fast concatenation at
either end of a string.
Substring search and replace convenience functions. They call Search_pattern.create
and then forget the preprocessed pattern when the search is complete. pos < 0 or
pos >= length t result in no match (hence substr_index returns None and
substr_index_exn raises). may_overlap indicates whether to report overlapping
matches, see Search_pattern.index_all.
Returns the reversed list of characters contained in a list.
nget s i Gets the char at normalized position i in s.
nset s i c Sets the char at normalized position i to c.
lfindi ?pos t ~f returns the smallest i >= pos such that f i t.[i], if there is
such an i. By default, pos = 0.
rfindi ?pos t ~f returns the largest i <= pos such that f i t.[i], if there is
such an i. By default pos = length t - 1.
Warning: the following strip functions have copy-on-write semantics (i.e. they may return the same string passed in)
foldi works similarly to fold, but also pass in index of each character to f
tr_inplace target replacement s destructively modifies s (in place!)
replacing every instance of target in s with replacement.
slightly faster hash function on strings
is_empty s returns true iff s is empty (i.e. its length is 0).
gen' ?length char_gen generates strings using the given distributions for string
length and each character.