Effacer les filtres
Effacer les filtres

how to remove the first 5 characters from a cell array 343x1 cell

54 vues (au cours des 30 derniers jours)
NU_YU
NU_YU le 27 Oct 2015
Commenté : Leone Campos le 5 Jan 2023
Hello all, I would like to remove the first few characters from every single cell (343), yet I am not much aware of how to do it. I tried to solve the problem via googling it yet could not find anything that would fit my case. The cell array is attached. Example: for "d035-117" for instance i would like to convert it into a form of "117". The first 5 characters need to be truncated. Thanks for your advices and help in advance!
  2 commentaires
Jack
Jack le 7 Déc 2022
Do you have the answer already, because i don't get it too?
Image Analyst
Image Analyst le 7 Déc 2022
@Jack you can see he accepted my answer below so I guess it worked for him.
If you have any more questions, then attach your data and code to read it in with the paperclip icon after you read this:

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 27 Oct 2015
How about (untested)
for k = 1 : length(ca)
cellContents = ca{k};
% Truncate and stick back into the cell
ca{k} = cellContents(6:end);
end
  5 commentaires
Supriya Gain
Supriya Gain le 18 Mai 2022
I have a folder which contains 389 CSV files. And each CSV file has a dimension of 82x1. So basically it's a 1D matrix. Now the first element (i.e. A1) of every CSV file is 'VAR'. Now I want to remove this 'VAR' and shift my matrix to the upside. That means I want to remove A1 element and shift the whole matrix from A1. How to do that.
Image Analyst
Image Analyst le 18 Mai 2022
@Supriya Gain try reading it into a table and deleting the first column
t = readtable(filename);
t = t(:, 2:end)
If that doesn't work, start a new question of your own (not here) and attach one of the CSV files there.

Connectez-vous pour commenter.

Plus de réponses (1)

Jos (10584)
Jos (10584) le 27 Oct 2015
Modifié(e) : Jos (10584) le 27 Oct 2015
If A is your cell-array of strings, this oneliner will do the job:
B = cellfun(@(x) x(1:end-5), A, 'un', 0)
  2 commentaires
NU_YU
NU_YU le 27 Oct 2015
Hi Jos,
I am not good at in matlab, so i sound dumb for sure. I did what you had suggested and it worked for the first 3 characters, not for the last 3. i substituted it with x(6:9), but it gace me an error. anyhow, thanks! I will try to solve it somehow. much appreciated
Leone Campos
Leone Campos le 5 Jan 2023
For those who are wondering what 'un' is, it stands for 'UniformOutput'.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by