[英]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.