include module type of struct include Stdlib.String end
val make : int -> char -> string
val init : int -> (int -> char) -> string
val length : string -> int
val get : string -> int -> char
val of_bytes : bytes -> string
val to_bytes : string -> bytes
val blit : string -> int -> bytes -> int -> int -> unit
val cat : string -> string -> string
val equal : t -> t -> bool
val compare : t -> t -> int
val contains_from : string -> int -> char -> bool
val rcontains_from : string -> int -> char -> bool
val contains : string -> char -> bool
val sub : string -> int -> int -> string
val split_on_char : char -> string -> string list
val map : (char -> char) -> string -> string
val mapi : (int -> char -> char) -> string -> string
val fold_left : ('acc -> char -> 'acc) -> 'acc -> string -> 'acc
val fold_right : (char -> 'acc -> 'acc) -> string -> 'acc -> 'acc
val escaped : string -> string
val uppercase_ascii : string -> string
val lowercase_ascii : string -> string
val capitalize_ascii : string -> string
val uncapitalize_ascii : string -> string
val iter : (char -> unit) -> string -> unit
val iteri : (int -> char -> unit) -> string -> unit
val index_from : string -> int -> char -> int
val index_from_opt : string -> int -> char -> int option
val rindex_from : string -> int -> char -> int
val rindex_from_opt : string -> int -> char -> int option
val index : string -> char -> int
val index_opt : string -> char -> int option
val rindex : string -> char -> int
val rindex_opt : string -> char -> int option
val to_seq : t -> char Stdlib.Seq.t
val to_seqi : t -> (int * char) Stdlib.Seq.t
val of_seq : char Stdlib.Seq.t -> t
val get_utf_8_uchar : t -> int -> Stdlib.Uchar.utf_decode
val is_valid_utf_8 : t -> bool
val get_utf_16be_uchar : t -> int -> Stdlib.Uchar.utf_decode
val is_valid_utf_16be : t -> bool
val get_utf_16le_uchar : t -> int -> Stdlib.Uchar.utf_decode
val is_valid_utf_16le : t -> bool
val get_uint8 : string -> int -> int
val get_int8 : string -> int -> int
val get_uint16_ne : string -> int -> int
val get_uint16_be : string -> int -> int
val get_uint16_le : string -> int -> int
val get_int16_ne : string -> int -> int
val get_int16_be : string -> int -> int
val get_int16_le : string -> int -> int
val get_int32_ne : string -> int -> int32
val seeded_hash : int -> t -> int
val get_int32_be : string -> int -> int32
val get_int32_le : string -> int -> int32
val get_int64_ne : string -> int -> int64
val get_int64_be : string -> int -> int64
val get_int64_le : string -> int -> int64
val unsafe_get : string -> int -> char
val unsafe_blit : string -> int -> bytes -> int -> int -> unit
val pp : Stdlib.Format.formatter -> string -> unit
val remove_char :
?char_equal:(Stdlib.Char.t -> Stdlib.Char.t -> bool) ->
Stdlib.Char.t ->
string ->
string
val split : int -> string -> string * string
val split' : int -> string -> string * string
val starts_with : ?equal:(t -> t -> bool) -> needle:t -> string -> bool
val ends_with : ?equal:(t -> t -> bool) -> needle:t -> string -> bool
val remove_prefix_exn : needle:string -> string -> string
val remove_prefix : needle:string -> string -> string option
val remove_suffix_exn : needle:string -> string -> string
val remove_suffix : needle:string -> string -> string option
distance needle haystack
is the Levenshtein distance between needle
and haystack
. The character equality can be changed with the optional ?char_equal
argument, defaulting to Char.equal
.
val distance :
?char_equal:(Stdlib.Char.t -> Stdlib.Char.t -> bool) ->
string ->
string ->
int
The proximity is defined roughly as the distance divised by the size.
val proximity :
?char_equal:(Stdlib.Char.t -> Stdlib.Char.t -> bool) ->
string ->
string ->
float
inclusion_distance ~needle haystack
is similar to distance needle
haystack
except with the best sub-string of haystack
. Note: this is not a proper distance.
val inclusion_distance :
?char_equal:(Stdlib.Char.t -> Stdlib.Char.t -> bool) ->
needle:string ->
string ->
int
Similar to proximity
but for inclusion_distance
.
val inclusion_proximity :
?char_equal:(Stdlib.Char.t -> Stdlib.Char.t -> bool) ->
needle:string ->
string ->
float
val escape : ?esc:char -> chars:string -> string -> string
val exists : (char -> bool) -> t -> bool
val for_all : (char -> bool) -> t -> bool
val slugify : ?sep:char -> string -> string
val is_slug : ?sep:char -> string -> bool
val compare_lengths : string -> string -> int
val whitespace_chars : char list
val ltrim :
?char_equal:(Stdlib.Char.t -> Stdlib.Char.t -> bool) ->
?chars:Stdlib.Char.t list ->
string ->
string
val rtrim :
?char_equal:(Stdlib.Char.t -> Stdlib.Char.t -> bool) ->
?chars:Stdlib.Char.t list ->
string ->
string
val trim :
?char_equal:(Stdlib.Char.t -> Stdlib.Char.t -> bool) ->
?chars:Stdlib.Char.t list ->
string ->
string
val remove_duplicates :
?char_equal:(Stdlib.Char.t -> Stdlib.Char.t -> bool) ->
?char:Stdlib.Char.t ->
string ->
string
val concat : ?last:string -> string -> string NesList.t -> string
Richer version of concat
that can also handle differently the last separator. For instance, concat ~last:" & " ", " ["a"; "b"; "c"] = "a, b
& c"
.
val split_2_on_char : char -> string -> (string * string) option
val split_3_on_char : char -> string -> (string * string * string) option
val replace_empty : by:string -> string -> string