我需要获取以特定字符串开头的所有子字符串。例如,如果字符串是“ sum([Calculation_8630212162300975])/ zn(sum([Calculation_6310302163817118]))”,我应该将输出作为“ Calculation_8630212162300975 ”并且“ Calculation_6310302163817118 ”
我尝试了以下代码。当存在这样的字符串的单个实例时,它工作正常。但是在多次出现的情况下,它会返回从第一个括号开始直到最后一个括号的字符串。对于上面提到的示例,它返回 Calculation_8630212162300975])/ zn(sum([Calculation_6310302163817118
Matcher m = Pattern.compile("\\[([^)]+)\\]").matcher(formula);
while(m.find()) {
System.out.println(m.group(1));
}
答案 0 :(得分:0)
努力而有力的解决方案
String value = "sum([Calculation_8630212162300975])/zn(sum([Calculation_6310302163817118]))";
if(value.contains("sum")){
String valueDum= value.substring(value.indexOf("sum")+3,value.length());
if(valueDum.contains("sum")){
String myFirstValue = valueDum.substring(0,valueDum.indexOf("/"));
String mySecondValue = valueDum.substring(valueDum.indexOf("sum")+3,valueDum.length());
}
}
}