delete special characters (\ / : * " < > |) in char
93 views (last 30 days)
Show older comments
Hi. I need to transform these lines:
name_1 = '<Hello World>';
name_2 ='File numb: 5';
into these:
name_1 = 'Hello World';
name_2 ='File numb 5';
In general, I would like to delete, if they are present, within the name all 8 symbols: \ / : * " < > |
0 Comments
Accepted Answer
Matt J
on 25 Jun 2023
One way:
name_1 = '<Hello World>';
pat=num2cell('\/:*"<>|');
name_1=erase(name_1,pat)
0 Comments
More Answers (3)
Jan
on 25 Jun 2023
name_1 = '<Hello World>';
name_1 = erase(name_1, ["<", ">", "\", "/", ":", "*", """", "|"])
DGM
on 25 Jun 2023
Edited: DGM
on 25 Jun 2023
You could also use regexprep(), though perhaps using erase() is more convenient.
% using numbered variables only makes processing more difficult
% instead of embedding implicit indices in the names, just use an array
names = {'<Hello World>';
'File numb: 5';
'1\|2/>3:<4*"5"*6<:7>/8|\9'};
% replace any instance of the listed characters with ''
names = regexprep(names,'[\\/:*"<>|]*','')
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!