我有一个复杂的字符串,如下面的格式模式:
(Command)(Parameter_1,Parameter_2,Parameter_3,Parameter_n)
示例:PADDING_LEFT(LAST_USE_COUNTER(1450,5),5,0)
我想将它们拆分如下:
命令:PADDING_LEFT
Parameter_1:LAST_USE_COUNTER(1450,5)
参数_2:5
Parameter_3:0
有没有办法打破这样的字符串?
我会沿着正则表达式走下去。更强大的方法可能是使用Java语法分析器,例如JavaParser:
MethodCallExpr bs =
(MethodCallExpr) JavaParser.parseExpression
("PADDING_LEFT(LAST_USE_COUNTER(1450,5),5,0)");
System.out.println(bs.getName());
List<Expression> arguments = bs.getArguments();
for (int i = 0; i < arguments.size(); ++i) {
System.out.printf("Argument_%d: %s%n", (i + 1), arguments.get(i));
}