Same as 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.Since 4.00.0

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.Since 4.00.0

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.Since 4.02.0

let trim: string => string;

Return a copy of the argument, without leading and trailing
whitespace. The characters regarded as whitespace are: ' ',
'\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.Since 4.00.0

let escaped: string => string;

Return a copy of the argument, with special characters
represented by escape sequences, following the lexical
conventions of OCaml. If there is no special
character in the argument, return the original string itself,
not a copy. Its inverse function is Scanf.unescaped.

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.

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;

Return a copy of the argument, with all lowercase letters
translated to uppercase, including accented letters of the ISO
Latin-1 (8859-1) character set.

let lowercase: string => string;

Return a copy of the argument, with all uppercase letters
translated to lowercase, including accented letters of the ISO
Latin-1 (8859-1) character set.

let capitalize: string => string;

Return a copy of the argument, with the first character set to uppercase.

let uncapitalize: string => string;

Return a copy of the argument, with the first character set to lowercase.

type t = string;

An alias for the type of strings.

let compare: (t, t) => int;

The comparison function for strings, with the same specification as
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.