문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
java:string_format [2017/08/10 12:14] kwon37xi [Slf4j MessageFormatter] |
java:string_format [2019/02/22 20:27] (현재) kwon37xi |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Java String Format ====== | ====== Java String Format ====== | ||
+ | |||
+ | ===== String.format() ===== | ||
+ | * [[https:// | ||
===== Slf4j MessageFormatter ===== | ===== Slf4j MessageFormatter ===== | ||
- | * [[https:// | + | * [[https:// |
- | * [[java: | + | * [[java: |
* '' | * '' | ||
* Java의 '' | * Java의 '' | ||
<code java> | <code java> | ||
- | </ | + | import org.slf4j.helpers.MessageFormatter; |
- | /** | + | |
- | * Slf4j의 문자열 포맷 형태로 < | + | // sf의 뜻? simple format, slf4j format, ... |
- | * <em>주의: " | + | // 주의: " |
- | * @see MessageFormatter | + | |
- | */ | + | |
public static String sf(String messagePattern, | public static String sf(String messagePattern, | ||
return MessageFormatter.arrayFormat(messagePattern, | return MessageFormatter.arrayFormat(messagePattern, | ||
줄 21: | 줄 22: | ||
String message = sf(" | String message = sf(" | ||
+ | </ | ||
+ | |||
+ | 포맷팅 예제 | ||
< | < | ||
- | MessageFormatter.format("Set {1,2,3} is not equal to {}.", " | + | sf("Set {1,2,3} is not equal to {}.", " |
-> "Set {1,2,3} is not equal to 1,2." | -> "Set {1,2,3} is not equal to 1,2." | ||
// { 에대 한 escape 은 \\{ | // { 에대 한 escape 은 \\{ | ||
- | MessageFormatter.format("Set \\{} is not equal to {}.", " | + | sf("Set \\{} is not equal to {}.", " |
-> "Set {} is not equal to 1,2." | -> "Set {} is not equal to 1,2." | ||
// \ 자체를 사용하려면 \\\\ | // \ 자체를 사용하려면 \\\\ | ||
- | MessageFormatter.format("File name is C: | + | sf("File name is C: |
-> "File name is C: | -> "File name is C: | ||
줄 50: | 줄 54: | ||
</ | </ | ||
+ | ===== org.apache.commons.lang.text.StrSubstitutor ===== | ||
+ | * [[https:// | ||
+ | * '' | ||
+ | <code java> | ||
+ | // 시스템 프라퍼티 | ||
+ | StrSubstitutor.replaceSystemProperties( | ||
+ | "You are running with java.version = ${java.version} and os.name = ${os.name}." | ||
+ | | ||
+ | // 일반적인 사용법 | ||
+ | Map valuesMap = HashMap(); | ||
+ | valuesMap.put(" | ||
+ | valuesMap.put(" | ||
+ | String templateString = "The ${animal} jumped over the ${target}."; | ||
+ | StrSubstitutor sub = new StrSubstitutor(valuesMap); | ||
+ | String resolvedString = sub.replace(templateString); | ||
+ | |||
+ | // 결과 | ||
+ | The quick brown fox jumped over the lazy dog. | ||
+ | </ | ||