How to remove cells that look seemingly like newline character from cell array?

21 views (last 30 days)
Dear all, I am involved in a task of analyzing and processing txt file. After converting the txt file line by line into cells, I came across characters which I personally think is newline character. A snippet of the cell output into the command window looks like the pic below:
My goal is to remove the empty lines, which are displayed here as cells containing solely the left arrow sign. I would like to remove these without resorting to loops, as I wrote one already that works fine but can be improved in terms of performance. To do so, I have made the following trials:
Dataset(strcmp(Dataset,newline))=[];
Dataset(strcmp(Dataset,[]))=[];
Dataset(strcmp(Dataset,'←'))=[];
I think I am on the right track, but wonder why they all failed to do the job. Thanks!

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 3 May 2018
Edited: Fangjun Jiang on 3 May 2018
It might not be new line. Use double() and char() to do the match.
double(Dataset{3}) to find out the value of the character, then use char() to specify that character.
Dataset(strcmp(Dataset,Char(TheValueAbove)))=[]
  1 Comment
Bohan Liu
Bohan Liu on 3 May 2018
Strangely enough, the character in question and newline took on the same look when output into the command window. This is why I was tempted to think that they were the same. In fact, newline=char(10) and my character=char(13). Anyway thanks for the answer.

Sign in to comment.

More Answers (1)

Julian Hapke
Julian Hapke on 3 May 2018
You should determine which character you are seeing:
Extract a cell that contains only the character in question and convert it to double. Then use the command you already wrote to delete the cells that only contain that character.
You could also provide an example text file, so people can check themselves with what you are dealing.

Community Treasure Hunt

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

Start Hunting!