string - 删除元胞数组中字符串中的重复字符

标签 string matlab cell-array

我有一个这样的元胞数组:

Input = {'CEEEGH';'CCEEG';'ABCDEFF';'BCFGG';'BCDEEG';'BEFFH';'AACEGH'}

我怎样才能删除所有重复的字符,并在输入的每个字符串中只保留 1 个字符?预期的输出应该是这样的:

Output = {'CEGH';'CEG';'ABCDEF';'BCFG';'BCDEG';'BEFH';'ACEGH'}

最佳答案

使用:

cellfun(@unique,input,'UniformOutput',0)



ans = 

'CEGH'
'CEG'
'ABCDEF'
'BCFG'
'BCDEG'
'BEFH'
'ACEGH'

编辑:

如@thewaywewalk 评论的那样,为了在字母未排序的情况下保留顺序,您可以使用:

cellfun(@(x) unique(x,'stable'),input,'UniformOutput',0)

关于string - 删除元胞数组中字符串中的重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31263545/

相关文章:

matlab - 如何在分组栏中绘制误差线?

MATLAB - 用子矩阵创建矩阵

matlab - 用 {} 运算符包装函数是 'UniformOutput' 的有效替代品,在 cellfun 中是 false 吗?

string - 批量 strfind : finding lots of strings within lots of other strings

javascript - 如何用数组的值替换字符串中的问号?

Python 正则表达式与年月组合不匹配

c - 如何将指针赋值给全局变量?

c++ - 字符串是否在其构造函数中复制数据

r - 约束最小二乘回归 - Matlab 或 R

arrays - 将 ndgrid 的输出转换为单个数组