2017-08-31 87 views
0

我嘗試使用替代像org.apache.commons.lang3.text.StrSubstitutor這

 Map<String, String> valuesMap = new HashMap<>(); 
     valuesMap.put("price", "40"); 
     valuesMap.put("product", "Shirt"); 
     String templateString = "I paid total ${{price}} for the product {{product}}."; 
     StrSubstitutor sub = new StrSubstitutor(valuesMap, "{{", "}}"); 
     String resolvedString = sub.replace(templateString); 
     System.out.println(resolvedString); 

琴絃然後我得到以下輸出

我付產品襯衫的總價{{價格}}。

,而不是

我付的總$ 40的產品襯衫。

我相信$符號必須與在StrSubstitutor中處理正則表達式的方式衝突。

我錯過了什麼?如果沒有,那麼我怎樣才能得到預期的解決方案?

回答

0

發現了另一個解決方案,以及,如果我改變轉義字符,然後它會工作

sub.setEscapeChar('^');