반응형
반응형
해당 글에서는 문자열과 숫자의 왼쪽, 오른쪽에 값을 채우는 방법에 이해를 돕기 위해 작성한 글입니다.
1) 문자열을 왼쪽/오른쪽에서 값 채우는 방법
💡 해당 부분에서는 문자열을 기준으로 왼쪽/오른쪽에 “특정 값”을 채우는 방법입니다.
1. 기본 format
명령어 | 설명 |
%[최소길이]s | 최소길이만큼 “문자열”을 출력하며, “왼쪽”에서 부터 “공백”으로 채웁니다. |
%-[최소길이]s | 최소길이만큼 “문자열”을 출력하며, “오른쪽”에서 부터 “공백”으로 채웁니다. |
2. 상세 설명
[기본 format 예시]
💡 “%5s”, “-%5s”
- 총 5개의 문자열에 왼쪽에서부터 공백을 채우거나 오른쪽에서부터 공백을 채우는 방식을 의미합니다.
구분자 | 설명 |
”%” | 시작 |
”(없음), -” | 왼쪽(없음), 오른쪽(-)에서 채워갈지 결정합니다. |
(2) ”0 ~ 9” | 채우려는 개수 (*해당 값은 이미 정의된 문자열 포함 개수를 의미합니다) |
”s, d” | 문자열(s), 숫자(d) |
/*
* "왼쪽"에서부터 "공백" 문자열을 채워넣습니다.
* 1. 해당 예시는 왼쪽에서부터 지정한 문자열을 포함하여 총 5개의 문자열 개수가 만들어지는데 지정한 문자열을 제외한 공백으로 이를 채웁니다.
* 2. 해당 예시에는 공백을 다시 "z"라는 문자열로 바꿉니다.
*/
String lPadStr = "abc";
lPadStr = String.format("%5s", lPadStr).replace(" ", "z"); // zzabc
/*
* "오른쪽"에서부터 "공백" 문자열을 채워넣습니다.
* 1. 해당 예시는 오른쪽에서부터 지정한 문자열을 포함하여 총 5개의 문자열 개수가 만들어지는데 지정한 문자열을 제외한 공백으로 이를 채웁니다.
* 2. 해당 예시에서는 공백을 다시 "z"라는 문자열로 바꿉니다.
*/
String rPadStr = "abc";
rPadStr = String.format("%-5s", rPadStr).replace(" ", "z"); // abczz
2) 숫자 왼쪽/오른쪽에서 값 채우는 방법
💡 해당 부분에서는 숫자를 기준으로 왼쪽/오른쪽에 “0~9 값”을 채우는 방법입니다.
1. 기본 format
명령어 | 설명 |
%0[최소길이]d | 최소길이만큼 “숫자”를 출력하며, “왼쪽”에서부터 0으로 채웁니다. |
해당 방법은 존재하지 않습니다. 그래서 "%-[최소길이]s" 를 이용하여 생긴 공백을 문자열로 구성된 숫자 값으로 넣어주는 방식으로 구성해야합니다. |
2. 상세 설명
[기본 format 예시]
💡 “%05d”,“-%05d”-> (대체) String.format("%-5s", rPadIntStr).replace(" ", "0");
- 총 5개의 숫자에 왼쪽/오른쪽에서부터 0을 채워서 구성합니다.
구분자 | 설명 |
”%” | 시작 |
”(없음), -” | 왼쪽(없음), 오른쪽(-)에서 채워갈지 결정 |
(1) ”0 ~ 9” | 채워질 문자열 내의 숫자 값 |
(2) ”0 ~ 9” | 채우려는 개수 (*해당 값은 이미 정의된 문자열 포함 개수를 의미합니다) |
”s, d” | 문자열(s), 숫자(d) |
/*
* 왼쪽에서부터 0의 값을 채워넣습니다.
* 1. 해당 예시는 왼쪽에서부터 지정한 문자열을 포함하여 총 5개의 문자열 개수가 만들어지는데 지정한 문자열을 제외한 0으로 이를 채웁니다.
* 2. 해당 예시에는 00123 값이 출력이 됩니다.
*/
String lPadIntStr = "123";
lPadIntStr = String.format("%05d", Integer.parseInt(lPadIntStr)); // 00123
int LPadInt = Integer.parseInt(lPadIntStr); // 123
/*
* 오른쪽에서부터 공백 문자열을 채워넣습니다. (* "%-05d"와 같이 숫자에서 뒤에서부터 채우는것은 존재하지 않습니다.)
* 1. 해당 예시는 오른쪽에서부터 지정한 문자열을 포함하여 총 5개의 문자열 개수가 만들어지는데 지정한 문자열을 제외한 공백으로 이를 채웁니다.
* 2. 해당 예시에서는 공백을 다시 "0"라는 문자열로 바꿉니다.
*/
String rPadIntStr = "123";
rPadIntStr = String.format("%-5s", rPadIntStr).replace(" ", "0"); // 12300
int RPadInt = Integer.parseInt(rPadIntStr); // 12300
오늘도 감사합니다. 😀
반응형
'Java > Short 개발' 카테고리의 다른 글
[Java/Short] 배열/리스트 값 제거 방법 : 요소 첫번째/마지막 값 제거, 특정 값 제거 (0) | 2023.03.05 |
---|---|
[Java/Short] 배열/리스트 내의 값 비우는 방법 (0) | 2023.03.05 |
[Java/Short] 랜덤 숫자 사용 및 활용 방법 : Math.random() (0) | 2023.02.26 |
[Java/Short] String <-> int 변환 방법 : 부호(+, -) 포함 여부 (0) | 2023.02.26 |
[Java/Short] Array, ArrayList 정렬(Sort) 방법 (0) | 2023.02.22 |