Mercurial > octave
annotate scripts/strings/erase.m @ 33623:4517f929c59d bytecode-interpreter tip
maint: Merge default to bytecode-interpreter
author | Arun Giridhar <arungiridhar@gmail.com> |
---|---|
date | Fri, 24 May 2024 16:22:41 -0400 |
parents | 2e484f9f1f18 |
children |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 ######################################################################## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 ## |
32632
2e484f9f1f18
maint: update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
31706
diff
changeset
|
3 ## Copyright (C) 2017-2024 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
26577
diff
changeset
|
4 ## |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 ## See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 ## distribution or <https://octave.org/copyright/>. |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
7 ## |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
8 ## This file is part of Octave. |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
9 ## |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24473
diff
changeset
|
10 ## Octave is free software: you can redistribute it and/or modify it |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
11 ## under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24473
diff
changeset
|
12 ## the Free Software Foundation, either version 3 of the License, or |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
13 ## (at your option) any later version. |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
14 ## |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
15 ## Octave is distributed in the hope that it will be useful, but |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
18 ## GNU General Public License for more details. |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
19 ## |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
20 ## You should have received a copy of the GNU General Public License |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
21 ## along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24473
diff
changeset
|
22 ## <https://www.gnu.org/licenses/>. |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 ## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 ######################################################################## |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
25 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
26 ## -*- texinfo -*- |
24985
d85b2485af9e
doc: grammarcheck m-files ahead of 4.4 release.
Rik <rik@octave.org>
parents:
24634
diff
changeset
|
27 ## @deftypefn {} {@var{newstr} =} erase (@var{str}, @var{ptn}) |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
28 ## Delete all occurrences of @var{ptn} within @var{str}. |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
29 ## |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
30 ## @var{str} and @var{ptn} can be ordinary strings, cell array of strings, or |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
31 ## character arrays. |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
32 ## |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
33 ## Examples |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
34 ## |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
35 ## @example |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
36 ## @group |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
37 ## ## string, single pattern |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
38 ## erase ("Hello World!", " World") |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
39 ## @result{} "Hello!" |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
40 ## |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
41 ## ## cellstr, single pattern |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
42 ## erase (@{"Hello", "World!"@}, "World") |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
43 ## @result{} @{"Hello", "!"@} |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
44 ## |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
45 ## ## string, multiple patterns |
26577
ae1542fb58ba
documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents:
26376
diff
changeset
|
46 ## erase ("The Octave interpreter is fabulous", ... |
ae1542fb58ba
documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents:
26376
diff
changeset
|
47 ## @{"interpreter ", "The "@}) |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
48 ## @result{} "Octave is fabulous" |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
49 ## |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
50 ## ## cellstr, multiple patterns |
26577
ae1542fb58ba
documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents:
26376
diff
changeset
|
51 ## erase (@{"The ", "Octave interpreter ", "is fabulous"@}, ... |
ae1542fb58ba
documentation: Avoid some overfull lines in the PDF manual.
Markus Mützel <markus.muetzel@gmx.de>
parents:
26376
diff
changeset
|
52 ## @{"interpreter ", "The "@}) |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
53 ## @result{} @{"", "Octave ", "is fabulous"@} |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
54 ## @end group |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
55 ## @end example |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
56 ## |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
57 ## Programming Note: @code{erase} deletes the first instance of a pattern in a |
24985
d85b2485af9e
doc: grammarcheck m-files ahead of 4.4 release.
Rik <rik@octave.org>
parents:
24634
diff
changeset
|
58 ## string when there are overlapping occurrences. For example: |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
59 ## |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
60 ## @example |
24985
d85b2485af9e
doc: grammarcheck m-files ahead of 4.4 release.
Rik <rik@octave.org>
parents:
24634
diff
changeset
|
61 ## @group |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
62 ## erase ("abababa", "aba") |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
63 ## @result{} "b" |
24985
d85b2485af9e
doc: grammarcheck m-files ahead of 4.4 release.
Rik <rik@octave.org>
parents:
24634
diff
changeset
|
64 ## @end group |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
65 ## @end example |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
66 ## |
28958
6fd6ad758b10
doc: Use @xref, @pxref rather than "see @code{}" in TexInfo.
Rik <rik@octave.org>
parents:
28886
diff
changeset
|
67 ## For processing overlaps, @pxref{XREFstrrep,,@code{strrep}}. |
24634
ab2321d4ba03
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
68 ## |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
69 ## @seealso{strrep, regexprep} |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
70 ## @end deftypefn |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
71 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
72 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
73 function newstr = erase (str, ptn) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
74 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
75 if (nargin != 2) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
76 print_usage (); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
77 endif |
24634
ab2321d4ba03
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
78 |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
79 ischarmatrix = false; |
24634
ab2321d4ba03
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
80 if (ischar (str)) |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
81 if (rows (str) > 1) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
82 ## Convert to cell. Can't use cellstr which trims spaces. |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
83 str = mat2cell (str, ones (1, rows (str))); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
84 ischarmatrix = true; |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
85 endif |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
86 elseif (! iscellstr (str)) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
87 error ("erase: STR must be a string or cell array of strings"); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
88 endif |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
89 |
24634
ab2321d4ba03
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
90 if (ischar (ptn)) |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
91 if (rows (ptn) > 1) |
24473
42d099b841aa
erase.m: Add warning if a character array is used for PTN.
Rik <rik@octave.org>
parents:
24460
diff
changeset
|
92 warning ("Octave:erase:chararray", |
42d099b841aa
erase.m: Add warning if a character array is used for PTN.
Rik <rik@octave.org>
parents:
24460
diff
changeset
|
93 "erase: using character array for PTN is not recommended, consider cell array of strings instead"); |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
94 ## Convert to cell. Can't use cellstr which trims spaces. |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
95 ptn = mat2cell (ptn, ones (1, rows (ptn))); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
96 endif |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
97 elseif (! iscellstr (ptn)) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
98 error ("erase: PTN must be a string or cell array of strings"); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
99 endif |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
100 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
101 nptn = ifelse (ischar (ptn), 1, numel (ptn)); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
102 if (nptn == 1) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
103 newstr = strrep (str, ptn, "", "overlaps", false); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
104 else |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
105 ptn = regexptranslate ("escape", ptn(:).'); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
106 ptn = strjoin (ptn, '|'); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
107 newstr = regexprep (str, ptn, ""); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
108 endif |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
109 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
110 if (ischarmatrix) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
111 newstr = char (newstr); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
112 endif |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
113 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
114 endfunction |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
115 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
116 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
117 %!assert (erase ("Hello World!", " World"), "Hello!") |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
118 %!assert (erase ({"Hello World!"}, " World"), {"Hello!"}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
119 %!assert (erase (char ("Hello", "World!"), "World"), char ("Hello ", "!")) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
120 %!assert (erase ({"Hello", "World!"}, "World"), {"Hello", "!"}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
121 %!assert (erase ("Hello World!", {"o"; "World"; " "}), "Hell!") |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
122 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
123 ## Test overlaps |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
124 ## from https://savannah.gnu.org/bugs/?52647#comment5 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
125 %!assert (erase ('ababa', 'aba'), 'ba') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
126 %!assert (erase ('abababa', 'aba'), 'b') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
127 %!assert (erase ('ababababa', 'aba'), 'bba') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
128 %!assert (erase ('ababababa', {'aba', 'bba'}), 'bba') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
129 %!assert (erase ('ababababa ', {'aba', 'bba'}), 'bba ') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
130 %!assert (erase ({' ababababa '}, {'aba', 'bba'}), {' bba '}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
131 %!assert (erase (' ababa ', {'aba', 'baba'}), ' ba ') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
132 %!assert (erase (' Hello World t ', {'t';'llo'}), ' He World ') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
133 %!assert (erase ({' Hello World t '}, [ 'o ']), {' HellWorld t '}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
134 %!assert (erase ( 'Hello World t ', {'ld '; 'o '}), 'HellWort ') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
135 %!assert (erase ('aba', 'aba'), '') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
136 %!assert (erase ({'aba'}, 'aba'), ({""})) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
137 %!assert (erase ('', 'aba'), '') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
138 %!assert (erase ({'abbabbabba'},{'abba'}), {'bb'}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
139 %!assert (erase ({'ababababa';'abbabbabba'}, 'aba'), {'bba';'abbabbabba'}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
140 %!assert (erase ({''}, {''}), {''}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
141 %!assert (erase ({'pppppppp'}, 'p'), {''}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
142 %!assert (erase ('Hello World t ', {'ld '; 'o '}), 'HellWort ') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
143 %!assert (erase ({'Hello World t '}, {'ld '; 'o '}), {'HellWort '}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
144 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
145 ## Test input validation |
28886
d8318c12d903
test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents:
27978
diff
changeset
|
146 %!error <Invalid call> erase () |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
147 %!error erase ("a") |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
148 %!error erase ("a", "b", "c") |
24634
ab2321d4ba03
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
149 %!error <STR must be a string> erase ([1], "foo") |
ab2321d4ba03
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
150 %!error <PTN must be a string> erase ("foo", [1]) |
24473
42d099b841aa
erase.m: Add warning if a character array is used for PTN.
Rik <rik@octave.org>
parents:
24460
diff
changeset
|
151 %!warning <using character array for PTN is not recommended> |
42d099b841aa
erase.m: Add warning if a character array is used for PTN.
Rik <rik@octave.org>
parents:
24460
diff
changeset
|
152 %! erase ("a", ["a";"b"]); |