Skip commas inside brackets when the expression has operators
    4 次查看(过去 30 天)
  
       显示 更早的评论
    
Hi all,
I am trying to split a string
"A(B,'C'),D(E,'F'),'==','G','H"
using strsplit so that I get these separately
A(B, 'C')
D(E, 'F')
'=='
'G'
'H'
Any help would be appreciated.
Dhanesh
回答(2 个)
  Pravarthana P
    
 2022-4-4
         Hi Dhanesh Kumar, 
I understood that you are trying to split the string at commas except that within the brackets. 
For example,
test = 'Ram,C,D,GH(cat,abc,6),,xyz'; 
regexp(test,'\w+(\([^)]+\))?', 'match')
Hope this helps you!!
0 个评论
  Xingwang Yong
      
 2022-4-4
        expr1 = '(?<=\([^)]*),(?=.*\))'; % comma inside parenthesis, like '(..., ...)' 
index_comma_in_paren = regexp(line, expr1);
Once I did this for my file exchange submission alignMatrix.m. Hope it helps.
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!



