java特殊处理String.format中的%,使用%做一次转义


背景: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>","内容展示")

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM