How to find first non repeated (unique) character in a string?
11 次查看(过去 30 天)
显示 更早的评论
I have already tried to find a Matlab function for this but doesnt seem to be one apart from 'unique' which only eliminates duplicates. Any ideas for code on how to do this?
For example, an input of 'hello' would return h or an input of 'radar' would return d.
The unique characters in 'hello' are h,e and o with h being the first in line
The unique character in 'radar' is only d and so this would also be the first
Any help would be appreciated
采纳的回答
madhan ravi
2019-2-14
u=unique(s,'stable'); % where s is your input
Z=arrayfun(@(x)nnz(s==u(x)),1:numel(u));
Result=u(find(Z==1,1,'first'))
更多回答(1 个)
Andrei Bobrov
2019-2-14
z = 'hello';
[a,~,c] = unique(z,'stable');
out = a(find(accumarray(c,1) == 1,1));
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Pulsed Waveforms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!