Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1;
- function str = erase (str, match)
- # do wee need to convert to cellstring?
- mtocs = ischar (str) && rows (str) > 1;
- if (mtocs)
- str = cellstr (str);
- endif
- if (iscellstr (match))
- # recursive call
- if (numel (match) > 1)
- str = erase (str, match(1:end-1));
- else
- str = erase (str, match{1});
- endif
- else
- str = strrep (str, match, "", "overlaps", false);
- endif
- # convert cellstring to char matrix
- if (mtocs)
- str = char (str);
- endif
- endfunction
- # from https://savannah.gnu.org/bugs/?52647#comment5
- assert (erase ('aba', 'aba'), char ([]));
- assert (erase ('ababa', 'aba'), 'ba');
- assert (erase ('abababa', 'aba'), 'b');
- assert (erase ('ababababa', 'aba'), 'bba')
- assert (erase ('ababababa', {'aba', 'bba'}), 'bba');
- assert (erase (' ababababa ', {'aba', 'bba'}), ' bba ');
- assert (erase (' ababa ', {'aba', 'baba'}), ' ba ');
- str = ["the quick brown fox jumps"; "over the lazy dog"];
- newStr = erase (str, "the ");
- assert (newStr, ["quick brown fox jumps"; "over lazy dog"])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement