module String:sig..end
Strings.
include String
val head : string -> char optionhead s if Some s.[0] if s <> "" and None otherwise.
val is_prefix : affix:string -> string -> boolis_prefix ~affix s is true iff affix.[i] = s.[i] for
all indices i of affix.
val is_suffix : affix:string -> string -> boolis_suffix ~affix s is true iff affix.[n - i] = s.[m - i] for all
indices i of affix with n = String.length affix - 1 and m =.
String.length s - 1
val for_all : (char -> bool) -> string -> boolfor_all p s is true iff for all indices i of s, p s.[i].
= true
val exists : (char -> bool) -> string -> boolexists p s is true iff there exists an index i of s with
p s.[i] = true.
val with_index_range : ?first:int -> ?last:int -> string -> stringwith_index_range ~first ~last s are the consecutive bytes of s
whose indices exist in the range [first;last].
first defaults to 0 and last to String.length s - 1.
Note that both first and last can be any integer. If
first > last the interval is empty and the empty string is
returned.
val cut : ?rev:bool -> sep:char -> string -> (string * string) optioncut ~sep s is either the pair Some (l,r) of the two
(possibly empty) substrings of s that are delimited by the
first match of the separator character sep or None if
sep can't be matched in s. Matching starts from the
beginning of s (rev is false, default) or the end (rev
is true).
The invariant l ^ (String.make 1 sep) ^ r = s holds.
val cuts : ?empty:bool -> sep:char -> string -> string listcuts ~sep s is the list of all substring of s that are delimited by
matches of sep. Empty substrings are ommited in the list if
empty is falsee (defaults to true). The invariant
String.concat (String.make 1 sep) (split ~sep s) = s holds.
val parse_version : string -> (int * int * int * string option) optionparse_version parses version strings of the form:
"[v]major.minor[.patchlevel][(+|~)additional-info]"
into (major, minor, patch, (+|~)additional_info) tuples.
val drop_initial_v : string -> stringdrop_initial_v s drops a leading 'v' or 'V' from s.