delete rows from cell array
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Elysi Cochin
am 23 Feb. 2017
Bearbeitet: Guillaume
am 23 Feb. 2017
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 Kommentare
Rik
am 23 Feb. 2017
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
am 23 Feb. 2017
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?
Akzeptierte Antwort
Guillaume
am 23 Feb. 2017
Bearbeitet: Guillaume
am 23 Feb. 2017
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 Kommentare
Weitere Antworten (1)
Pooja Patel
am 23 Feb. 2017
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 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!