delete rows from cell array
1 回表示 (過去 30 日間)
古いコメントを表示
i have a cell array with string as below (format is "number""space""-""space""number")
1234 - 5678
543 - 2345
5678 - 1234
delete the numbers relations such as
1234 - 5678
5678 - 1234
and keep first one of them and get output as
1234 - 5678
543 - 2345
i need to search using '-'
i get empty matrix, when i do as below
index = find(ismember(cellArr(1), ' - '))
2 件のコメント
Rik
2017 年 2 月 23 日
So your question is how to remove the rows with pairs that are descending?
index is empty, because you are comparing a single cell with the text ' - '. I think you should take a look at strfind.
Adam
2017 年 2 月 23 日
You say you want to delete numbers, but then give an example output which still contains the same first line as I thought you wanted to delete?
採用された回答
Guillaume
2017 年 2 月 23 日
編集済み: Guillaume
2017 年 2 月 23 日
I'm assuming that you want to delete repeated pairs regardless of the order the numbers appear in the pair.
Possibly the easiest way would be:
c = {'1234 - 5678';
'543 - 2345';
'5678 - 1234';}
[~, urows] = unique(regexprep(c, '([^- ]*) - ([^-]*)', '${strjoin(sort({$1, $2}), '' - '')}'), 'stable');
filteredc = c(urows)
0 件のコメント
その他の回答 (1 件)
Pooja Patel
2017 年 2 月 23 日
A(1:2)={rand(10,6)}
A =
[10x6 double] [10x6 double]
>> row=2; A{1}(2,:)=[] %delete 1 row from 1 cell
A =
[9x6 double] [10x6 double]
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!