Split along word into parts with different lengths
    6 次查看(过去 30 天)
  
       显示 更早的评论
    
problem solved
3 个评论
  Cedric
      
      
 2014-6-6
				I guess that it is not always starting with the same string, otherwise you wouldn't have to parse it. We need more examples, as well as a clear description of criteria which define sub parts.
  dpb
      
      
 2014-6-6
				Specifically, what's the rule for breaking down the first set of six letters into the two groups of three if that isn't a consistent string. If it is, then just substring referencing of 1:3 and 4:6 takes care of it.
The rest looks like looking for capitals after a lowercase letter.
采纳的回答
  Cedric
      
      
 2014-6-6
        
      编辑:Cedric
      
      
 2014-6-6
  
      Here is a solution based on comments above. Yet, we will need you to answer these comments so we can refine the approach. Assuming
 data = {'NCCINS.AttitudePositionINS1.Pitch', 'NCCINS.AttitudePositionINS1.Roll'} ;
we perform a single call to REGEXP on a comma-separated merger of the original strings, as follows:
 pattern = '(\w{3})(\w{3}).(.[^A-Z]+)(.[^A-Z]+)([^\.]+).([^,]+)' ;
 tokens  = regexp( sprintf('%s,', data{:}), pattern, 'tokens' ) ;
with that, we get
 >> tokens{1}
 ans = 
    'NCC'    'INS'    'Attitude'    'Position'    'INS1'    'Pitch'
 >> tokens{2}
 ans = 
    'NCC'    'INS'    'Attitude'    'Position'    'INS1'    'Roll'
1 个评论
  Cedric
      
      
 2014-6-6
				
      编辑:Cedric
      
      
 2014-6-6
  
			Can you attach a few example, or one package, or even the 70. The more I have, the more I can refine the approach. The approach above is based on regular expressions and pattern matching. I cannot explain it generally because there would be way too much to develop. Yet, once we have a pattern which suites your case specifically, I can explain it to you.
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
			
	产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



