Java에서 전화번호 형식화 - 실용적인 예제Java2024. 2. 28. 13:50
Table of Contents
반응형
안녕하세요! 오늘은 Java에서 전화번호를 형식화하는 방법에 대해 알아보겠습니다. 이 예제는 실제 애플리케이션에서 유용하게 사용될 수 있는 코드로, 다양한 형태의 전화번호를 일관된 형식으로 변환하는 방법을 다룹니다.
public static String toPhoneType(String arg) {
if (arg == null || arg.length() < 8) {
return "";
}
List<String> phoneNumbers = new ArrayList<>();
for (String phone : arg.split(",")) {
if (phone.length() > 8) {
phoneNumbers.add(formatPhoneNumber(phone));
}
}
return String.join(" | ", phoneNumbers);
}
private static String formatPhoneNumber(String phone) {
final String PREFIX_02 = "02";
final String PREFIX_0506 = "0506";
String formattedPhone = "";
if (phone.length() > 12) {
formattedPhone = (phone.startsWith(PREFIX_02) ? PREFIX_02 + "-" + phone.substring(2, phone.length() - 8) :
phone.substring(0, 3) + "-" + phone.substring(3, phone.length() - 8))
+ "-" + phone.substring(phone.length() - 8, phone.length() - 4)
+ "~" + phone.substring(phone.length() - 4);
} else {
formattedPhone = (!phone.startsWith(PREFIX_02) ? phone.substring(0, 3) + "-" + phone.substring(3, phone.length() - 4) :
(phone.startsWith(PREFIX_0506) ? PREFIX_0506 + "-" + phone.substring(4, phone.length() - 4) : PREFIX_02 + "-" + phone.substring(2, phone.length() - 4))) +
"-" + phone.substring(phone.length() - 4);
}
return formattedPhone;
}
1. 전체적인 구조
이 코드는 크게 두 부분으로 나눌 수 있습니다:
toPhoneType(String arg)
: 이 메소드는 문자열 형태의 전화번호 목록을 입력받아, 각 전화번호를 특정 형식에 맞게 변환한 후 하나의 문자열로 결합합니다.formatPhoneNumber(String phone)
: 각 전화번호를 지정된 형식에 맞게 변환하는 역할을 합니다.
2. toPhoneType 메소드
toPhoneType
메소드는 입력받은 전화번호 문자열이 null이거나 길이가 8 미만인 경우 빈 문자열을 반환합니다. 그렇지 않은 경우, 각 전화번호를 ,
로 분리하여 배열에 저장한 후 formatPhoneNumber
메소드를 통해 형식화합니다. 마지막으로, 형식화된 전화번호들을 " | "
문자로 연결하여 반환합니다.
3. formatPhoneNumber 메소드
formatPhoneNumber
메소드는 전화번호의 길이와 특정 접두사를 기준으로 다양한 형식을 적용합니다.
PREFIX_02
와PREFIX_0506
는 서울 지역 및 특정 서비스의 전화번호를 나타냅니다.- 전화번호의 길이가 12자를 초과하는 경우, 다른 형식을 적용합니다.
- 전화번호가
PREFIX_02
나PREFIX_0506
으로 시작하는 경우와 그렇지 않은 경우를 구분하여 다른 형식을 적용합니다.
이 코드는 특히 한국의 전화번호 형식을 기준으로 작성되었으나, 다른 국가의 형식에 맞게 쉽게 조정할 수 있습니다.
4. 사용 예제
String phones = "021234567,05061234567,01012345678";
String formattedPhones = toPhoneType(phones);
System.out.println(formattedPhones);
이 코드의 출력 결과는 다음과 같습니다:
02-1234-567 | 0506-123-4567 | 010-1234-5678
마무리
이렇게 Java를 사용하여 전화번호를 효율적으로 형식화하는 방법을 살펴보았습니다. 이 코드는 특히 사용자 입력 데이터를 정제하거나, UI에 전화번호를 표시할 때 유용하게 사용될 수 있습니다. 여러분의 프로젝트에도 적용해 보시길 바랍니다!
반응형
@위피M :: ChatGPT로 여는 새로운 세상!!
ChatGPT, 블록체인, 자바, 맥북, 인터넷, 컴퓨터 정보를 공유합니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!