Mercurial > octave
annotate scripts/strings/erase.m @ 27923:bd51beb6205e
update formatting of copyright notices
* Use <https://octave.org/copyright/> instead of
<https://octave.org/COPYRIGHT.html/>.
* For consistency with other comments in the Octave sources, use
C++-style comments for copyright blocks in C and C++ files.
* Use delimiters above and below copyright blocks that are appropriate
for the language used in the file.
* Eliminate extra spacing inside copyright blocks.
* lex.ll (looks_like_copyright): Also allow newlines and carriage
returns before the word "Copyright".
* scripts/mk-doc.pl (gethelp): Also skip empty comment lines.
* bp-table.cc, type.m: Adjust tests.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 08 Jan 2020 11:59:41 -0500 |
parents | 1891570abac8 |
children | a4268efb7334 |
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 ## |
27919
1891570abac8
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
27918
diff
changeset
|
3 ## Copyright (C) 2017-2020 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 ## |
24634
ab2321d4ba03
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
67 ## See @code{strrep} for processing overlaps. |
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 ## Author: Sahil Yadav <yadavsahil5198@gmail.com> |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
73 |
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 function newstr = erase (str, ptn) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
76 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
77 if (nargin != 2) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
78 print_usage (); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
79 endif |
24634
ab2321d4ba03
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
80 |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
81 ischarmatrix = false; |
24634
ab2321d4ba03
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
82 if (ischar (str)) |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
83 if (rows (str) > 1) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
84 ## 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
|
85 str = mat2cell (str, ones (1, rows (str))); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
86 ischarmatrix = true; |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
87 endif |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
88 elseif (! iscellstr (str)) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
89 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
|
90 endif |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
91 |
24634
ab2321d4ba03
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
92 if (ischar (ptn)) |
24460
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
93 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
|
94 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
|
95 "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
|
96 ## 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
|
97 ptn = mat2cell (ptn, ones (1, rows (ptn))); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
98 endif |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
99 elseif (! iscellstr (ptn)) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
100 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
|
101 endif |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
102 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
103 nptn = ifelse (ischar (ptn), 1, numel (ptn)); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
104 if (nptn == 1) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
105 newstr = strrep (str, ptn, "", "overlaps", false); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
106 else |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
107 ptn = regexptranslate ("escape", ptn(:).'); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
108 ptn = strjoin (ptn, '|'); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
109 newstr = regexprep (str, ptn, ""); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
110 endif |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
111 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
112 if (ischarmatrix) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
113 newstr = char (newstr); |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
114 endif |
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 endfunction |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
117 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
118 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
119 %!assert (erase ("Hello World!", " World"), "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 (char ("Hello", "World!"), "World"), char ("Hello ", "!")) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
122 %!assert (erase ({"Hello", "World!"}, "World"), {"Hello", "!"}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
123 %!assert (erase ("Hello World!", {"o"; "World"; " "}), "Hell!") |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
124 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
125 ## Test overlaps |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
126 ## 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
|
127 %!assert (erase ('ababa', 'aba'), 'ba') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
128 %!assert (erase ('abababa', 'aba'), 'b') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
129 %!assert (erase ('ababababa', 'aba'), '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 ('ababababa ', {'aba', 'bba'}), 'bba ') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
132 %!assert (erase ({' ababababa '}, {'aba', 'bba'}), {' bba '}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
133 %!assert (erase (' ababa ', {'aba', 'baba'}), ' ba ') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
134 %!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
|
135 %!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
|
136 %!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
|
137 %!assert (erase ('aba', 'aba'), '') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
138 %!assert (erase ({'aba'}, 'aba'), ({""})) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
139 %!assert (erase ('', 'aba'), '') |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
140 %!assert (erase ({'abbabbabba'},{'abba'}), {'bb'}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
141 %!assert (erase ({'ababababa';'abbabbabba'}, 'aba'), {'bba';'abbabbabba'}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
142 %!assert (erase ({''}, {''}), {''}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
143 %!assert (erase ({'pppppppp'}, 'p'), {''}) |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
144 %!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
|
145 %!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
|
146 |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
147 ## Test input validation |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
148 %!error erase () |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
149 %!error erase ("a") |
892f7f096ffb
erase.m: New string function for deleting substrings with a string.
Sahil Yadav
parents:
diff
changeset
|
150 %!error erase ("a", "b", "c") |
24634
ab2321d4ba03
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
151 %!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
|
152 %!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
|
153 %!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
|
154 %! erase ("a", ["a";"b"]); |