java replaceall函数_使用String.replaceAll函数匹配正则表达式并从Java中的映射中获取替换值...

博客探讨了在Java中使用`replaceAll`方法和正则表达式进行字符串替换的问题。示例代码展示了如何用HashMap存储函数运算符及其对应值,并通过正则匹配和替换实现表达式的计算。该例子对于理解Java字符串处理和正则操作具有实践意义。
摘要由CSDN通过智能技术生成

我不知道你有多少数量的数据,但似乎问题是replaceAll无法正常工作,因为我尝试过替换它并且工作得很棒。

String expression = "SUM_ALL(4:5,5:6)>MAX(6:7)

String mat = "";

Map functionOperators = new HashMap();

functionOperators.put("SUM_ALL(4:5,5:6)", 4.0);

functionOperators.put("MAX(6:7)",5.0);

Matcher m =

Pattern.compile(

"(?:(SUM_ALL|MAX|MIN)\\(((?:\\d+:\\d+,?){1,2})\\)[+->

.matcher(expression);

while (m.find()) {

mat = String.format("%s(%s)", m.group(1), m.group(2));

expression = expression.replace(mat, functionOperators.get(mat).toString());

}

System.out.println(expression);直接取自你之前的例子(昨天)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值