How can I find a string in an array of strings? Error using strfind PATTERN must be a string scalar or character vector.
Afficher commentaires plus anciens
Dear all,
I am currently trying to derandomize a list of filenames. I do have a derandomization sheet for this. However, whenever I am trying to run the script I wrote for this I encounter the following error:
Error using strfind
PATTERN must be a string scalar or character vector.
Error in Derandomization (line 14)
idx = find(~cellfun(@isempty,strfind(N,C)))
This is my code:
clearvars
close all
basicpath = ('C:\path');
[~,~,raw] = xlsread('filenames_new_sheet.xlsx');
T = readtable('derandomization.xlsx');
t = T{:,'Filename'}
newStr = erase(t,'_kakaka'); %get body of filenames to match
C = unique(newStr) % delete filenames that exist more than once
N = raw(:,2); runr
j = size(C)
k = size(N)
for n = 1:j
for m = 1:k
idx = find(~cellfun(@isempty,strfind(N,C)))
end
end
>> class N
ans =
'char'
>> class C
ans =
'char'
Why do I keep getting this error message everytime? And what can I do to avoid it? Thank you, everyone.
Kindly
8 commentaires
darova
le 5 Mai 2020
Why do you need for loop here?
for n = 1:j
for m = 1:k
idx = find(~cellfun(@isempty,strfind(N,C)))
end
end
Hannah_Mad
le 5 Mai 2020
Stephen23
le 5 Mai 2020
"Why do you need for loop here?"
The second input of strfind is one pattern (i.e. a single character vector or string scalar), so given that C contains multiple patterns at least one loop is required here... I guess those two loops are remants of earlier experimentation.
Hannah_Mad
le 5 Mai 2020
Hannah_Mad
le 6 Mai 2020
Hannah_Mad
le 6 Mai 2020
Stephen23
le 6 Mai 2020
@Hannah_Mad: please upload the some sample variables (e.g. raw and T) or the original files, and please show or describe the expected output for those exact variables/files.
Image Analyst
le 12 Mai 2020
Hannah, again I think you misunderstood Stephen's comment. When he said "please upload the some sample variables (e.g. raw and T) or the original files" he meant to attach 'Effekte_der_DBS_korrigiert.xlsx' or 'DDK_acoustic_durations.xlsx' using the paper clip icon. And I'm not seeing those anywhere on this page on any of your posts. We'll check back later for them.
Réponse acceptée
Plus de réponses (1)
Hannah_Mad
le 12 Mai 2020
0 votes
Catégories
En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!