getting a specific paragraph from a .txt file

4 views (last 30 days)
This might sound like a stupid question, but is there was way of retrieving a specific paragraph from a .txt file please? I've written the conditions for various experiments in a txt file, so like
test1
-
-
test2
-
-
and so on. I was wondering if I could say get the user to input the test number (on a gui) and then use a strcat function to merge test and the number and then somehow retrieve the paragraph that corresponds to that number so I can then display it on the gui. Is there a way of doing that please?
Thanks

Accepted Answer

Walter Roberson
Walter Roberson on 15 Jul 2016
filecontent = fileread('YourFile.txt');
testnum = 2;
par_begin_pos = regexp(filecontent, sprintf('^test%d', testnum), 'lineanchors');
if isempty(par_begin_pos)
fprintf('No paragraph #%d in file', testnum);
return
end
par_end_pos = regexp(filecontent, sprintf('^test%d', testnum+1), 'lineanchors');
if isempty(par_end_pos)
par_end_pos = length(filecontent) + 1; %right test was last thing in file
end
paragraph_content = filecontent(par_begin_pos : par_end_pos - 1);

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 14 Jul 2016
You can use regexp

Community Treasure Hunt

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

Start Hunting!