Delete rows in cell that contain part of string

31 ビュー (過去 30 日間)
newbie9
newbie9 2019 年 3 月 13 日
コメント済み: newbie9 2019 年 3 月 13 日
I have an Nx2 cell (mixes of strings and doubles) that I'm trying to clean up (rawdata). Specifically, I am trying to delete all rows with ">" in the first column. My code below is deleting those rows, but it is reshaping the cell as an Mx1 cell (data1). I'm not sure where the error is. Thanks for any help.
rawdata = textscan(fid, '%s %s' , 'HeaderLines', 7);
rawdata = [rawdata{:}];
data1 = rawdata(cellfun(@(s)isempty(regexp(s,'>')),rawdata));

採用された回答

madhan ravi
madhan ravi 2019 年 3 月 13 日
編集済み: madhan ravi 2019 年 3 月 13 日
Cell(strcmp(Cell(:,1),'>'),:)=[]
  1 件のコメント
newbie9
newbie9 2019 年 3 月 13 日
that works perfectly, thank you

サインインしてコメントする。

その他の回答 (1 件)

newbie9
newbie9 2019 年 3 月 13 日
編集済み: newbie9 2019 年 3 月 13 日
Below works, but perhaps is not the most elegant code.
rawdata = textscan(fid, '%s %s' , 'HeaderLines', 7);
fclose all;
rawdata = [rawdata{:}];
idx = strfind(rawdata(:,1),'>');
tf = cellfun('isempty', idx);
tf = [tf tf];
data1 = rawdata(tf);
data1 = reshape(data1,[length(data1)/2, 2]);

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by