module String: StringLabels;
let length: string => int;
let get: (string, int) => char;
String.get s n returns the character at index n in string s.
You can also write s.[n] instead of String.get s n.
Raise Invalid_argument if n not a valid index in s.
let set: (bytes, int, char) => unit;
BytesLabels.set.String.set s n c modifies byte sequence s in place,
replacing the byte at index n with c.
You can also write s.[n] <- c instead of String.set s n c.
Raise Invalid_argument if n is not a valid index in s.
let create: int => bytes;
BytesLabels.create.String.create n returns a fresh byte sequence of length n.
The sequence is uninitialized and contains arbitrary bytes.
Raise Invalid_argument if n < 0 or n > Sys.max_string_length.
let make: (int, char) => string;
String.make n c returns a fresh string of length n,
filled with the character c.
Raise Invalid_argument if n < 0 or n > Sys.max_string_length.
let init: (int, ~f: int => char) => string;
init n f returns a string of length n,
with character i initialized to the result of f i.
Raise Invalid_argument if n < 0 or n > Sys.max_string_length.
let copy: string => string;
let sub: (string, ~pos: int, ~len: int) => string;
String.sub s start len returns a fresh string of length len,
containing the substring of s that starts at position start and
has length len.
Raise Invalid_argument if start and len do not
designate a valid substring of s.
let fill: (bytes, ~pos: int, ~len: int, char) => unit;
BytesLabels.fill.String.fill s start len c modifies byte sequence s in place,
replacing len bytes by c, starting at start.
Raise Invalid_argument if start and len do not
designate a valid substring of s.
let blit:
(~src: string, ~src_pos: int, ~dst: bytes, ~dst_pos: int, ~len: int) => unit;
String.blit src srcoff dst dstoff len copies len bytes
from the string src, starting at index srcoff,
to byte sequence dst, starting at character number dstoff.
Raise Invalid_argument if srcoff and len do not
designate a valid range of src, or if dstoff and len
do not designate a valid range of dst.
let concat: (~sep: string, list(string)) => string;
String.concat sep sl concatenates the list of strings sl,
inserting the separator string sep between each.let iter: (~f: char => unit, string) => unit;
String.iter f s applies function f in turn to all
the characters of s. It is equivalent to
f s.[0]; f s.[1]; ...; f s.[String.length s - 1]; ().let iteri: (~f: (int, char) => unit, string) => unit;
String.iter, but the
function is applied to the index of the element as first argument
(counting from 0), and the character itself as second argument.let map: (~f: char => char, string) => string;
String.map f s applies function f in turn to all
the characters of s and stores the results in a new string that
is returned.let mapi: (~f: (int, char) => char, string) => string;
String.mapi f s calls f with each character of s and its
index (in increasing index order) and stores the results in a new
string that is returned.let trim: string => string;
' ',
'\012', '\n', '\r', and '\t'. If there is no leading nor
trailing whitespace character in the argument, return the original
string itself, not a copy.let escaped: string => string;
let index: (string, char) => int;
String.index s c returns the index of the first
occurrence of character c in string s.
Raise Not_found if c does not occur in s.
let rindex: (string, char) => int;
String.rindex s c returns the index of the last
occurrence of character c in string s.
Raise Not_found if c does not occur in s.
let index_from: (string, int, char) => int;
String.index_from s i c returns the index of the
first occurrence of character c in string s after position i.
String.index s c is equivalent to String.index_from s 0 c.
Raise Invalid_argument if i is not a valid position in s.
Raise Not_found if c does not occur in s after position i.
let rindex_from: (string, int, char) => int;
String.rindex_from s i c returns the index of the
last occurrence of character c in string s before position i+1.
String.rindex s c is equivalent to
String.rindex_from s (String.length s - 1) c.
Raise Invalid_argument if i+1 is not a valid position in s.
Raise Not_found if c does not occur in s before position i+1.
let contains: (string, char) => bool;
String.contains s c tests if character c
appears in the string s.let contains_from: (string, int, char) => bool;
String.contains_from s start c tests if character c
appears in s after position start.
String.contains s c is equivalent to
String.contains_from s 0 c.
Raise Invalid_argument if start is not a valid position in s.
let rcontains_from: (string, int, char) => bool;
String.rcontains_from s stop c tests if character c
appears in s before position stop+1.
Raise Invalid_argument if stop < 0 or stop+1 is not a valid
position in s.
let uppercase: string => string;
let lowercase: string => string;
let capitalize: string => string;
let uncapitalize: string => string;
type t = string;
let compare: (t, t) => int;
Pervasives.compare. Along with the type t, this function compare
allows the module String to be passed as argument to the functors
Set.Make and Map.Make.