有一串字符转格式为:中文+${1}+中文或者${N} 例如:我和${1}去打${2} 怎么将他替换成我和#p_1#去打#p_2#${N}为参数 可能有多个数字大小不用逐级递增也就是说:我和${2}去打${1}:或者:我和${1}去打${3}这样的格式都是可以的 求大神指点用JAVA

解决方案 »

  1.   

    public static void main(String[] args) {
    String str = "我和${1}去打${2} ";
    str = str.replaceAll("\\$\\{(\\d+)\\}", "#p_$1#");
    System.out.println(str);
    }
      

  2.   

    public static void main(String[] args) {
    String str = "我和#p_1#去打#p_2#";
    str = str.replaceAll("#p_(\\d+)#", "\\$\\{$1\\}");
    System.out.println(str);
    }
      

  3.   


      var str = "我来测试我和#P_1#去发#P_3#方法#P_4#"; str  = str .replace(/#[pP]_(\d+)#/g, "{$$1}");为什么我这样得不到我想要的结果:我来测试我和{$1}去发{$3}方法{$4}