String format 시 java.util.UnknownFormatConversionException: Conversion = '"' 오류

bestKimEver·2024년 6월 11일
0
post-custom-banner

상황

html 형식의 텍스트를 읽어와 일부 내용(%s)을 상황에 따라 적절한 내용으로 formatting 해야 하는 상황에서 html에 포함된 % 부호 때문에 java.util.UnknownFormatConversionException: Conversion = '"' 오류 발생.

String htmlString = "<div style=\"width: 30%\"><p>%s</p><span>%s</span></div>";
String htmlString = String.format(htmlString, "내용 1", "내용 2");

해결

챗지피티의 조언으로 %를 일일히 escape처리하는 대신, String.format 대신 MessageFormat.format메소드를 사용하도록 다음과 같은 형태로 html과 자바 코드를 변경했다. 고마워요 챗지피티!

import java.text.MessageFormat;
    
String htmlString = "<div style=\"width: 30%\"><p>{0}</p><span>{1}</span></div>";
String htmlString = MessageFormat.format(htmlString, "내용 1", "내용 2");
profile
이제 3년차 개발새발자. 제가 보려고 정리해놓는 글이기 때문에 다소 미흡한 내용이 많습니다.
post-custom-banner

0개의 댓글