我对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')
但是这个函数会删除一些不相邻的字符。
是否有执行此操作的功能?
感谢。
答案 0 :(得分:4)
a(logical([1 diff(double(a))]))
解释:将字符转换为double
的数字。然后diff
为每个与前一个元素不同的元素赋予非零值。结果用作logical index来从a
中选择元素。始终保留a
的第一个元素(请注意diff
提供的元素少于a
的元素。