delete the first and last character inside a char

32 次查看(过去 30 天)
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);

采纳的回答

Dyuman Joshi
Dyuman Joshi 2023-6-26
charact = {'08126A';'05354A';'01406A';'09630A'};
y=regexprep(charact,'0(\d*)A','$1')
y = 4×1 cell array
{'8126'} {'5354'} {'1406'} {'9630'}
  2 个评论
Rik
Rik 2023-6-26
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'}

请先登录,再进行评论。

更多回答(1 个)

Sharad
Sharad 2023-6-26
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 个评论
DGM
DGM 2023-6-26
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' }

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by