問題代碼
final String format1 = "氯化鈉注射液 (0.9%) (可立袋)(基)";
String format = String.format(format1,new String[]{"keyword","dd"});
由於字符串中包含%導致
修改
/** * 字符串中包含 %轉化 * @param str 字符串 氯化鈉注射液 (0.9%) (可立袋)(基)%s 是否 * @return 氯化鈉注射液 (0.9%%) (可立袋)(基)%s 是否 */ public String formatPercent(String str){ final String replaceAll = str.replaceAll("%s", "{0}").replaceAll("%","%%"); return MessageFormat.format(replaceAll, "%s"); }
String format = String.format(formatPercent(format1),new String[]{"keyword","dd"});
先把%s轉化,然后在把%轉化,最后把%s轉回去
String.format()中 %%顯示的就是 % , %是一個轉符號