delete the first and last character inside a char

37 visualizaciones (últimos 30 días)
Alberto Acri
Alberto Acri el 26 de Jun. de 2023
Comentada: Dyuman Joshi el 26 de Jun. de 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);

Respuesta aceptada

Dyuman Joshi
Dyuman Joshi el 26 de Jun. de 2023
charact = {'08126A';'05354A';'01406A';'09630A'};
y=regexprep(charact,'0(\d*)A','$1')
y = 4×1 cell array
{'8126'} {'5354'} {'1406'} {'9630'}
  2 comentarios
Rik
Rik el 26 de Jun. de 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')
y = 4×1 cell array
{'8126'} {'5354'} {'1406'} {'9630'}
Dyuman Joshi
Dyuman Joshi el 26 de Jun. de 2023
That's neat!

Iniciar sesión para comentar.

Más respuestas (1)

Sharad
Sharad el 26 de Jun. de 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 comentario
DGM
DGM el 26 de Jun. de 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', '')
values = 4×1 cell array
{'8126'} {'5354'} {'146' } {'963' }

Iniciar sesión para comentar.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by