代码之家  ›  专栏  ›  技术社区  ›  Eden WebStudio

替换字符串中与arrayList中的键匹配的多个部分

  •  1
  • Eden WebStudio  · 技术社区  · 7 年前

    forloops似乎没有在string[]finallet中修改整个字符串。相反,它们修改1个键值对,然后在新行上的下一个键值对丢失最初更新的键值。

    ArrayList < String > matchedStr = this.regexMatcher(id, kd);
    for (String[] fL: finalList) {
     for (String match: matchedStr) {
      //System.out.println(match);
      if (kd.containsKey(match)) {
       String updatedList = fL[1].replace(match, kd.get(match));
       System.out.println(updatedList);
      }
     }
    }
    

    如何确保updatedList在执行下一个键值时保留先前更新的键的内存? i、 e1、2、3和4必须从键更新为它们的值

    这辆车3英镑,打4折

    钥匙

    1=一百

    3=二百

    1 回复  |  直到 7 年前
        1
  •  0
  •   Selindek    7 年前
    ArrayList < String > matchedStr = this.regexMatcher(id, kd);
    for (String[] fL: finalList) {
     String updatedList = fL[1];
     for (String match: matchedStr) {
      //System.out.println(match);
      if (kd.containsKey(match)) {
       updatedList = updatedList.replace(match, kd.get(match));
       System.out.println(updatedList);
      }
     }
    }