Undefined function 'regexp' for input arguments of type 'struct'

1 回表示 (過去 30 日間)
ai ping Ng
ai ping Ng 2017 年 3 月 4 日
コメント済み: Walter Roberson 2017 年 3 月 17 日
I want to extract keywords(which the word start with import.XXXX) from multiple files under annotation folder. I run my code like this, Y I get the error? Anybody can help?
r = dir(fullfile('C:\Users\ASUS\Desktop\AngryBirdTest\android\support\annotation', '*.java'));
for i=1:length(r)
p = regexpi(FileList,'import.\w*.\w*.\w*','match');
disp(p(i));
end
  1 件のコメント
Walter Roberson
Walter Roberson 2017 年 3 月 5 日
Are those things stored inside the files or are they part of the file names?

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2017 年 3 月 5 日
My guess:
projectdir = 'C:\Users\ASUS\Desktop\AngryBirdTest\android\support\annotation';
r = dir(fullfile(projectdir, '*.java'));
filenames = {r.name};
FileList = fullfile(projectdir, filenames);
for K = 1:length(FileList)
thisfile = FileList{K};
fprintf('\nExamining file "%s"\n', thisfile); %if desired
filecontent = fileread(thisfile);
p = regexpi(filecontent, 'import.\w*.\w*.\w*', 'match');
disp(p);
end
  7 件のコメント
ai ping Ng
ai ping Ng 2017 年 3 月 17 日
Thanks. Get it. I change into a string, it works.
r = dir(fullfile('C:\Users\ASUS\Desktop\FYP\M1\ClassFileTest/', '*.java'));
r2 = regexp(fileread('Dataset3_API.txt'), '\r?\n', 'split');
saveValueP = [];
for i=1:length(r)
p = regexp(fileread(strcat('C:\Users\ASUS\Desktop\FYP\M1\ClassFileTest/',r(i).name)), 'import android.\w*.\w*.\w*','match');
saveValueP = [saveValueP p];
no_duplicates = unique(saveValueP); %remove duplicated features
end
str = strjoin(no_duplicates);
features3 = ~cellfun(@isempty,regexp(str,r2,'match'));
disp(no_duplicates)
I still meet a question after that. Let say now I am examining the Class file which under M1 folder >> 'C:\Users\ASUS\Desktop\FYP\M1\ClassFileTest/' How if I have 'M1 folder' 'M2 folder' and 'M3 folder' ... 'Mx folder' to undergo? Is that a way to make it automatically examine and then can produce all of my folders' feature vectors?
Walter Roberson
Walter Roberson 2017 年 3 月 17 日
https://www.mathworks.com/matlabcentral/answers/57446-faq-how-can-i-process-a-sequence-of-files

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2017 年 3 月 5 日
You didn't show us how you got FileList. Evidently it thinks it's a structure.

カテゴリ

Help Center および File ExchangeMultirate Signal Processing についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by