let rec decoupe ?(e = [' ']) ma_string =
let n = (String.length ma_string);
and result = ref [];
and i = ref 0; in
if (n > 0) then
begin
while ( (!i < (n - 1)) && not(in_list ma_string.[!i] e)) do
incr i;
done;
if (!i = (n - 1)) then result := [ma_string];
if (!i <= (n - 2)) then result := [(monsub ma_string 0 !i)]@(decoupe ~e (monsub ma_string (!i + 1) (n - !i - 1) ));
end;
!result