背景:java通過String.format(,)可將文本內容模板化,可用字符串替換前面
例如 String.format("hi %s","張三”),會用張三替換%s的內容。
%在格式化時有特殊意義,那如果我就要用%怎么辦?例如html中的width:100%
例子:String.format("<div style=\"width:calc(100% - 265px);\”>%s</div>","內容展示")
會報錯:Exception in thread "main" java.util.DuplicateFormatFlagsException: Flags = '
原因:里面用到了%號,但是卻不是做文本替換的。
解決方法:%特殊處理,用%做一次轉義,處理結果如下
String.format("<div style=\"width:calc(100%%- 265px);\”>%s</div>","內容展示")
