簡體   English   中英

替換與arrayList中的鍵匹配的字符串的多個部分

[英]Replace multiple parts of a string where it matches a key in an arrayList

Java新手。 我在matchedStr arrayList中有一個字符串列表,這些字符串是鍵。 我在finalList arrayList中有一個string [],這是包含鍵作為文本一部分的字符串行。 查找hashMap時,finalList需要替換為鍵值。 forloop似乎沒有修改String [] finaList中的整個字符串。 相反,它們會修改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保留先前更新的鍵的內存? 即1,2,3和4必須通過鍵更新為它們的值

該車費用為1,折扣為2

這輛車的價格是3,折扣4

按鍵

1 =一百

2 =百分之五

3 = 200

4 = 2%

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);
  }
 }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM