как я могу переформулировать определенные слова в строке?

#java #string

Вопрос:

У меня есть эта последовательность кода, чтобы попытаться отформатировать математический расчет

 //TODO add PI
     final double PIE=Math.PI;
    System.out.println(PIE);
    String pieThing="2PI2PI";
    System.out.println(pieThing);
    //TODO check for indexes before a thing. Helpful for moving index line and Syntax check
    if(pieThing.indexOf("PI")>0)
    {
        if(pieThing.charAt(pieThing.indexOf("PI")-1)=='2')//<--- This is annoying use a switch
        {
            StringBuilder pieThingBuilder=new StringBuilder(pieThing);
            pieThingBuilder.insert(pieThing.indexOf("PI"),"*");
            pieThing=pieThingBuilder.toString();
        }
    }
    System.out.println(pieThing);
    pieThing=pieThing.replace("PI",Double.toString(PIE));
    System.out.println(pieThing);
 

Но он будет запущен только один раз, как я могу проверить, найти и преобразовать все «ПИ»в»*», если за ними стоит 2?

Есть ли лучший способ сделать то, чего я пытаюсь достичь?

Комментарии:

1. каков ваш желаемый результат?

2. Взгляните на String.replaceAll()