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 iter : ?drop:drop_if_empty -> by:string -> string -> (string * int * int) sequence- since
- 2.8
val std_seq : ?drop:drop_if_empty -> by:string -> string -> (string * int * int) Seq.t- since
- 2.8
val 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 iter_cpy : ?drop:drop_if_empty -> by:string -> string -> string sequence- since
- 2.8
val std_seq_cpy : ?drop:drop_if_empty -> by:string -> string -> string Seq.t- since
- 2.8
val 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