DROP_SLASH drop repeated and trailing slash
optional: mex
on Windows, if leading double slash, do not drop
function d = drop_slash(p) arguments p {mustBeTextScalar} end s = stdlib.posix(p); % drop repeated slashes inside string d = regexprep(s, '/+', '/'); % drop all trailing slashes if ~strcmp(d, '/') && ~strcmp(d, stdlib.root(s)) d = regexprep(d, '/$', ''); end if isstring(p) d = string(d); end end %!assert(drop_slash(''), '') %!assert(drop_slash('/'), '/') %!assert(drop_slash('a//b'), 'a/b') %!assert(drop_slash('a//b/'), 'a/b')