简体   繁体   English

仅当不包含在括号中时,如何拆分每个逗号的String var?

[英]How to split String var each coma only if not contained in brackets?

I have this String test = "elevation[value1,value2],temperature[value2,value3],radiance[value4,value5]..."我有这个String test = "elevation[value1,value2],temperature[value2,value3],radiance[value4,value5]..."

I would like to split each , not contained between square brackets.我想拆分每个,不包含在方括号之间。 To get something like [ [elevation[value1,value2]], [temperature[value2,value3]], [radiance[value4,value5]] ]得到类似[ [elevation[value1,value2]], [temperature[value2,value3]], [radiance[value4,value5]] ]

I mean each element will be like elevation[value1,value2]我的意思是每个元素都会像elevation[value1,value2]

I am really not confortable using regex, if someone can help me.如果有人可以帮助我,我真的不习惯使用正则表达式。

You can target each comma that is not contained within brackets using following regex but assuming your brackets will have to be balanced.您可以使用以下正则表达式定位括号中未包含的每个逗号,但假设您的括号必须保持平衡。

,(?![^\[]*\])

and split to get your desired results.并拆分以获得您想要的结果。

Demo演示

Link to Java code demo Java代码演示链接

Explanation:解释:

  • , - Match a comma , - 匹配逗号
  • (?![^\[]*\]) - This negative lookahead ensures that there is no ] character directly without an [ opening bracket. (?![^\[]*\]) - 这种否定的前瞻确保没有]字符直接没有[左括号。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM