delete the first and last character inside a char
11 views (last 30 days)
Show older comments
Alberto Acri
on 26 Jun 2023
Commented: Dyuman Joshi
on 26 Jun 2023
Hi. How can I do to delete the 0 and A present in each row of the cell?
values = {'08126A';'05354A';'01406A';'09630A'};
I am using this code but would like to delete only the first 0.
charact = {'08126A';'05354A';'01406A';'09630A'};
pat = num2cell('0A');
charact = erase(charact,pat);
0 Comments
Accepted Answer
Dyuman Joshi
on 26 Jun 2023
charact = {'08126A';'05354A';'01406A';'09630A'};
y=regexprep(charact,'0(\d*)A','$1')
2 Comments
Rik
on 26 Jun 2023
You can easily extend this code to work for other leading and trailing characters (and other characters in the middle):
charact = {'08126A';'05354A';'01406A';'09630A'};
y=regexprep(charact,'.(.*).','$1')
More Answers (1)
Sharad
on 26 Jun 2023
As per my understanding, you are interested in eliminating the 0s and As from each row of the cells.In order to delete the 0 and A present in each row of cell, you might want to follow these steps:
- Declare the values cell array (as done).
values = {'08126A';'05354A';'01406A';'09630A'};
- Use the strrep function to replace 0 and A with empty character ''.
% Remove '0' from each cell
values = strrep(values, '0', '');
% Remove 'A' from each cell
values = strrep(values, 'A', '');
- Display the resultant values cell using 'disp'.
disp(values);
Find the MATLAB strrep documentation here: https://in.mathworks.com/help/matlab/ref/strrep.html
Thank you.
1 Comment
DGM
on 26 Jun 2023
That will strip all zeros from the vectors, not just leading zeros.
values = {'08126A';'05354A';'01406A';'09630A'};
% Remove '0' from each cell
values = strrep(values, '0', '');
% Remove 'A' from each cell
values = strrep(values, 'A', '')
See Also
Categories
Find more on Characters and Strings 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!