字符串indexOf、replaceAll、substring方法综合应用 : 将字符串中的{}括号内参数取出并替换

//获取的字符串
String rule_param = healthRule.getRule_param();

int count = 0;
int[] counts = new int[rule_param.length()];
int i = counts[0] = rule_param.indexOf("{");
//获取{或者}的数量
while (rule_param.indexOf("{", i + 1) != -1) {
    count = count + 1;
    counts[count] = rule_param.indexOf("{", i + 1);
    i = counts[count];
}
int[] countList = new int[rule_param.length()];
countList[0] = counts[0];
int[] ints = new int[rule_param.length()];
ints[0] = rule_param.indexOf("}");
String[] strings = new String[counts.length];
//动态替换
for (int c = 0; c < count + 1; c++) {
    strings[c] = rule_param.substring(countList[c] + 1, ints[c]);
    rule_param = rule_param.replaceAll("\\$\\{" + strings[c] + "}", "msg." + strings[c] + "");
    if (rule_param.indexOf("{", countList[c] + 1) != -1 && rule_param.indexOf("}", countList[c] + 1) != -1) {
        countList[c + 1] = rule_param.indexOf("{", countList[c] + 1);
        ints[c + 1] = rule_param.indexOf("}", ints[c] + 1);
    }
}
//获取替换之后的字符串
String laterRuleParam = rule_param;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值