查看单个帖子
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 删除重复项-**仅当重复出现顺序时

我只想删除“ g”和“ g”,因为它们是一个接一个的重复,所以我想做些类似的事情。我也想保持顺序不变。

任何帮助,将不胜感激!!!

我在MATLAB中有这个单元格数组:

y = { 'd' 'f' 'a' 'g' 'g' 'w' 'a' 'h'} ans = 'd' 'f' 'a' 'w' 'a' 'h'

回答:

用于多个重复项时,我的第一个答案(以下)有一个错误(感谢Grantnz)。这是更新的版本:

>> y = {'d'f'a'g'g'g'w'a'h'h'i'i'i'j'};>> i = find(diff(char(y))== 0);>> y([i; i + 1])= []y = 'd''f''a'w'a'j 老答案

如果“单元向量”始终仅包含单个字符元素,则可以执行以下操作:

>> y = {'d''f''a''g''g''w''a''h'}y = 'd''f''a''g''g''w''a''h'>> y(find(diff(char(y))== 0)+ [0 1])= []y = 'd''f''a'w'a'h

更多&回答...
poster 当前离线   回复时引用此帖