delete the first and last character inside a char

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);

 Risposta accettata

charact = {'08126A';'05354A';'01406A';'09630A'};
y=regexprep(charact,'0(\d*)A','$1')
y = 4×1 cell array
{'8126'} {'5354'} {'1406'} {'9630'}

2 Commenti

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')
y = 4×1 cell array
{'8126'} {'5354'} {'1406'} {'9630'}

Accedi per commentare.

Più risposte (1)

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 Commento

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', '')
values = 4×1 cell array
{'8126'} {'5354'} {'146' } {'963' }

Accedi per commentare.

Prodotti

Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by