首页 > 解决方案 > 如何重新格式化字符串中的特定单词?

问题描述

我有这个代码序列来尝试格式化数学计算

//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,我如何让它检查、查找并将所有“PI”转换为“*”?

有没有更好的方法来做我想要完成的事情?

标签: javastring

解决方案


推荐阅读