How can i read the value (string or number) of a variable?
3 views (last 30 days)
Show older comments
Hello,
I read my input-data from a .txt-File. Now i want to use some of this variables in my script for formating and calculations.... Maybe the question is strange but anyway.... How can i read the value of the variable number_of_plots or color? Is there an easy way except using a for loop + Delimiter and so on? Thank you
My Code:
diagramoptions = [];
wholecontent = fileread('aaa.txt')
sections = regexp(wholecontent, '\*+([^*]+)\*+([^*]+)', 'tokens')
for section = sections
switch(strtrim(section{1}{1}))
case 'Diagram Options' %Diagram Options -> siehe meine Gliederung im .txt file
keyvalues = regexp(section{1}{2}, '([^\n\r=]+)=([^\n\r=]+)', 'tokens')%\n -> new line; \r carriage return
diagramoptions = cell2table(vertcat(keyvalues{:}), 'VariableNames', {'Key', 'Value'})
otherwise
warning('Unknown section: %s', section{1}{1})
end
end
openvar diagramoptions
0 Comments
Answers (1)
Jan
on 1 Dec 2016
Edited: Jan
on 1 Dec 2016
What do you exactly want? Searching for a specific token or importing all tokens before the '='?
Searching for a specific token:
contentS = fileread('aaa.txt');
content = regexp(contentS, '\n', 'split')
pattern = 'number_of_plots';
match = strncmp(content, [pattern, '='], length(pattern) + 1);
Data.(pattern) = sscanf(content{match}, [pattern, '=%g'], 1);
3 Comments
Jan
on 1 Dec 2016
@Philipp: What does "select directly from diagramoptions variable" exactly mean? Not directly out of the txt file? I don't get it. Please post again, what you want to achieve.
Please do not cross-post a question in different forums. Thanks.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!