Creating a Function that acts as a counter for certain string
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentario
Respuestas (1)
BhaTTa
el 19 de En. de 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 comentarios
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!