使用 Spring boot 替换公式中的特定值而不影响 Java 中的其他值

Replacing specific values in a formula without affecting others in Java with Spring boot

提问人:lpdevlop 提问时间:10/15/2023 最后编辑:The fourth birdlpdevlop 更新时间:10/16/2023 访问量:72

问:

我有一个表示为字符串的数学公式,如下所示:

“A+AB+A/B-BB+BC+C”我需要用新值替换 B 和 C 的值,分别假设 X 和 Y,而不会影响公式中出现的其他 BC。我正在使用 Java 完成此任务。

这是我目前拥有的 Java 代码:

String formula = "A+AB+A/B-BB+BC+C";
String newFormula = formula.replaceAll("B", "X").replaceAll("C", "Y");

但是,此代码将替换公式中出现的所有“B”和“C”,包括“BC”项。我想实现的是只替换单个“B”和“C”,而不更改“BC”。如何修改此代码以实现此目的?

java 字符串 替换

评论


答:

2赞 Tim Biegeleisen 10/15/2023 #1

您可以在 和 周围放置单词边界,即 match on 和 :BC\bB\b\bC\b

String newFormula = formula.replaceAll("\\bB\\b", "X")
                           .replaceAll("\\bC\\b", "Y");