使用带有Java替换函数

时间:2017-11-13 13:40:42

标签: java regex replace

我有一个像这样的数学公式字符串。

(##type## * 2) + 5 + ##component## + ##param##

更换后,我希望得到这样的结果。

((value.type) * 2) + 5 + (value.component) + (value.param)

我将始终添加"值。"字符串到参数的开头并添加side()。我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

String test = "(##type## * 2) + 5 + ##component## + ##param##";
System.out.println(test.replaceAll("##(.*?)##", "(value.$1)"));

答案 1 :(得分:0)

您可以通过链接replaceAll方法来实现,例如:

class Value {
    String type;
    String component;
    String param;
    //Getters and setters
}

public static void main(String[] args) {
    String s = "(##type## * 2) + 5 + ##component## + ##param##";
    Value value = new Value();
    value.type = "a";
    value.component = "b";
    value.param = "c";
    s = s.replace("##type##", value.type).replaceAll("##component##", value.component).replaceAll("##param##",
            value.param);
    System.out.println(s);
}