How can i read the value (string or number) of a variable?
    4 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
Categories
				Find more on Introduction to Installation and Licensing in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
