Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,18 @@
|
|||
let split_with_escaping ~esc ~sep s =
|
||||
let len = String.length s in
|
||||
let buf = Buffer.create 16 in
|
||||
let rec loop i =
|
||||
if i = len then [Buffer.contents buf]
|
||||
else if s.[i] = esc && i + 1 < len then begin
|
||||
Buffer.add_char buf s.[i + 1];
|
||||
loop (i + 2)
|
||||
end else if s.[i] = sep then begin
|
||||
let s = Buffer.contents buf in
|
||||
Buffer.clear buf;
|
||||
s :: loop (i + 1)
|
||||
end else begin
|
||||
Buffer.add_char buf s.[i];
|
||||
loop (i + 1)
|
||||
end
|
||||
in
|
||||
loop 0
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
let res = split_with_escaping ~esc:'^' ~sep:'|' "one^|uno||three^^^^|four^^^|^cuatro|";;
|
||||
val res : string list = ["one|uno"; ""; "three^^"; "four^|cuatro"; ""]
|
||||
Loading…
Add table
Add a link
Reference in a new issue