string match and replace string with matching number from another matrix
2 views (last 30 days)
Show older comments
Hi All,
I'm stuck. I have a file called StimNo.mat that contains the filenames of over 2000 soundfiles (e.g. 'air.wav', 'air_2.wav', 'chair.wav' etc) in the first column. The second column has the associated number (e.g. 1, 2, 3 etc).
I have another file like it with a small subset of the .wav names. I'd like to replace the names of the .wav file with the number from Column 2 in StimNo.mat. How might I do that please? The .wav files are not consistently labeled so need to match the full string.
Kind regards
Phil
0 Comments
Accepted Answer
Paul
on 27 Nov 2023
Edited: Paul
on 27 Nov 2023
From the desription, it sounds like the StimNo file contains a cell array (assuming all file names are unique)
stimno = {'air.wav' 1;'air2.wav' 2;'chair.wav' 3;'chair2.wav' 4}
and the second file is something like
secondfile ={'chair2.wav'; 'air2.wav'}
And the result would be
[~,locb] = ismember(secondfile,stimno(:,1));
locb
result = stimno(locb,2)
More Answers (0)
See Also
Categories
Find more on String in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!