문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
java:string_format [2017/08/10 12:54] kwon37xi |
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("hi {}, hello {}", " | + | |
| - | * <em>주의: " | + | // sf의 뜻? simple format, slf4j format, ... |
| - | * @see MessageFormatter | + | // 주의: " |
| - | */ | + | |
| public static String sf(String messagePattern, | public static String sf(String messagePattern, | ||
| return MessageFormatter.arrayFormat(messagePattern, | return MessageFormatter.arrayFormat(messagePattern, | ||
| 줄 24: | 줄 26: | ||
| 포맷팅 예제 | 포맷팅 예제 | ||
| < | < | ||
| - | 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: | ||
| 줄 52: | 줄 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. | ||
| + | </ | ||