Creating a Function that acts as a counter for certain string
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Okay, I am trying to create a function that reads a txt. file then for every certain string counts it as one until it reaches 10. Then the 10th string is taken and placed in an array. Can anyone help me?
1 Kommentar
Antworten (1)
BhaTTa
am 19 Jan. 2024
Hey @Frandy , In MATLAB, you can create a function to read a text file, count occurrences of a specific string, and collect every 10th occurrence into an array. Here's an example function that does this:
function resultArray = collectEveryTenthOccurrence(filename, searchString)
% Initialize the counter and the result array
occurrences = 0;
resultArray = {};
% Open the text file for reading
fid = fopen(filename, 'rt');
if fid == -1
error('File cannot be opened: %s', filename);
end
% Read the file line by line
while ~feof(fid)
line = fgetl(fid);
words = strsplit(line); % Split the line into words
for i = 1:length(words)
word = words{i};
% Check if the word matches the search string
if strcmp(word, searchString)
occurrences = occurrences + 1;
% If the 10th occurrence, add to the result array
if mod(occurrences, 10) == 0
resultArray{end+1} = word;
end
end
end
end
% Close the file
fclose(fid);
end
To use this function, you would call it with the filename and the search string as arguments, like so:
collectedWords = collectEveryTenthOccurrence('sample.txt', 'example');
disp(collectedWords);
Hope it helps!
0 Kommentare
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!