java - 替换字符串中的子字符串

标签 java string

我有这个字符串

String str=lookup('PRODUCT','LKP1','LKP_TAB1.ID')||('A'='B')-lookup('PRODUCT','LKP2','LKP_TAB1.ID')||'CON.ID'

这只是一个示例,在实际情况中,查找表达式可以在字符串中的任何位置和任意次数出现。该字符串还可能有其他几个“(”和“)”。我需要将字符串转换为

=lookup('PRODUCT','LKP1','LKP_TAB1.ID',123)||('A'='B')-lookup('PRODUCT','LKP2','LKP_TAB1.ID',123)||'CON.ID'

这意味着我需要在查找时将“)”替换为“,123)”。但如果它不适合查找,那么我不想替换它。

这个东西可以用java来做吗?

最佳答案

尝试:

str = str.replaceAll("(lookup\\([^)]*)\\)","$1,123)");

See it @ work

关于java - 替换字符串中的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9226456/

相关文章:

java - 如何重新排序 JLabel 的 arrayList 以在列表顶部显示标签

java - 如何使 spring @Value 属性 session 范围

php - 内置函数在 php 中组合重叠的字符串序列?

python - 将字符串列表转换为字典列表 python

Java程序给出两个区间之间的素数

java - 创建多线程循环

java - Android - 粗体标签似乎不会影响 Strings.xml 中的 URL 文本

c# - 字符串未被识别为有效的日期时间

java - 为什么要在 main() 和外部方法中声明一个对象?

PHP - 检查数组的所有元素是否都在字符串中