我有一个像这样的数学公式字符串。
(##type## * 2) + 5 + ##component## + ##param##
更换后,我希望得到这样的结果。
((value.type) * 2) + 5 + (value.component) + (value.param)
我将始终添加"值。"字符串到参数的开头并添加side()。我怎么能这样做?
答案 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);
}