如何将具有“java方法签名”等格式的字符串分解成部分?

问题描述 投票:0回答:1

我有一个复杂的字符串,如下面的格式模式:

(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 regex string parsing split
1个回答
1
投票

我会沿着正则表达式走下去。更强大的方法可能是使用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));
}
© www.soinside.com 2019 - 2024. All rights reserved.