Module CCStringLabels.Split
type drop_if_empty={first : bool;last : bool;}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_emptyDo not drop any group, even empty and on borders.
- since
 - 1.5
 
val list_ : ?drop:drop_if_empty -> by:string -> string -> (string * int * int) listSplit the given string along the given separator
by. Should only be used with very small separators, otherwise useContainers_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) genval seq : ?drop:drop_if_empty -> by:string -> string -> (string * int * int) sequenceval 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 listval gen_cpy : ?drop:drop_if_empty -> by:string -> string -> string genval seq_cpy : ?drop:drop_if_empty -> by:string -> string -> string sequenceval klist_cpy : ?drop:drop_if_empty -> by:string -> string -> string klistval left : by:string -> string -> (string * string) optionSplit on the first occurrence of
byfrom the leftmost part of the string.- since
 - 0.12
 
val left_exn : by:string -> string -> string * stringSplit on the first occurrence of
byfrom the leftmost part of the string.- raises Not_found
 if
byis not part of the string.
- since
 - 0.16