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

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

采纳的回答

Fangjun Jiang
Fangjun Jiang 2018-5-3
编辑:Fangjun Jiang 2018-5-3
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 个评论
Bohan Liu
Bohan Liu 2018-5-3
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.

请先登录,再进行评论。

更多回答(1 个)

Julian Hapke
Julian Hapke 2018-5-3
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.

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by