Creating a Function that acts as a counter for certain string
    6 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!


