删除字符串中重复的相邻字符

时间:2013-11-23 15:56:02

标签: matlab function sorting find unique

我对MATLAB中的函数有疑问。

我有这个,例如:

a=['9' '9' '9' '-' '-' '1' '1' '2' '3' '3' '5' '6' '7' '7' '7' '9' '6' '4' '-' '-' '3']

a =

999--1123356777964--3

我希望将其改为:

9-123567964-3

删除重复的相邻字符,我尝试使用:

unique(a,'stable')

但是这个函数会删除一些不相邻的字符。

是否有执行此操作的功能?

感谢。

1 个答案:

答案 0 :(得分:4)

a(logical([1 diff(double(a))]))

解释:将字符转换为double的数字。然后diff为每个与前一个元素不同的元素赋予非零值。结果用作logical index来从a中选择元素。始终保留a的第一个元素(请注意diff提供的元素少于a的元素。