-
containers
-
containers.data
-
containers.monomorphic
-
containers.sexp
-
containers.top
Library
Module
Module type
Parameter
Class
Class type
Specification of what to do with empty blocks, as in split ~by:"-" "-a-b-"
.
{first=false; last=false}
will return""; "a"; "b"; ""
{first=true; last=false}
will return"a"; "b" ""
{first=false; last=true}
will return""; "a"; "b"
{first=true; last=true}
will return"a"; "b"
The default value of all remaining functions is Drop_none
.
- since 1.5
val no_drop : drop_if_empty
Do not drop any group, even empty and on borders.
- since 1.5
val list_ :
?drop:drop_if_empty ->
by:string ->
string ->
(string * int * int) list
Split the given string along the given separator by
. Should only be used with very small separators, otherwise use Containers_string
.KMP.
- returns
a list of slices
(s,index,length)
that are separated byby
.String.sub
can then be used to actually extract a string from the slice.
- raises Failure
if
by = ""
.
val gen :
?drop:drop_if_empty ->
by:string ->
string ->
(string * int * int) gen
val seq :
?drop:drop_if_empty ->
by:string ->
string ->
(string * int * int) sequence
val klist :
?drop:drop_if_empty ->
by:string ->
string ->
(string * int * int) klist
Copying functions
Those split functions actually copy the substrings, which can be more convenient but less efficient in general.
val list_cpy : ?drop:drop_if_empty -> by:string -> string -> string list
val gen_cpy : ?drop:drop_if_empty -> by:string -> string -> string gen
val seq_cpy : ?drop:drop_if_empty -> by:string -> string -> string sequence
val klist_cpy : ?drop:drop_if_empty -> by:string -> string -> string klist
Split on the first occurrence of by
from the leftmost part of the string.
- since 0.12
Split on the first occurrence of by
from the leftmost part of the string.
- raises Not_found
if
by
is not part of the string.
- since 0.16
Split on the first occurrence of by
from the rightmost part of the string.
- since 0.12