Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- isempty
- Linux
- pem
- oracle
- PostgreSQL
- Python
- 명령어
- MongoDB
- analytics4
- 호이스팅
- 자바
- spring
- 리눅스
- IntelliJ
- Kibana
- java
- git
- pandas
- mssql
- SQL
- DBMS
- isNotEmpty
- docker
- 오블완
- mysql
- 티스토리챌린지
- iBatis
- MariaDB
- Javascript
- github
Archives
- Today
- Total
hanker
Java - 지역 번호, 핸드폰 번호 변환 (format) 본문
반응형
Java String to 전화번호 형식으로 포맷팅 방식
/**
* 전화번호 포맷팅 클래스
*/
public class PhoneNumberFormatter {
/**
* 전화번호 문자열을 받아서 표준 포맷으로 변환합니다.
* @param phoneNumber 원시 전화번호 문자열 (예: "01012345678", "(010)12345678")
* @return 포맷팅된 전화번호 문자열 또는 포맷팅이 불가능한 경우 원본 문자열 반환
*/
public static String formatPhoneNumber(String phoneNumber) {
// 1. 전화번호에서 숫자만 추출합니다.
String digits = phoneNumber.replaceAll("\\D", "");
// 2. 추출한 숫자의 길이에 따라 조건 분기 처리
if (digits.length() == 10) {
// 10자리 전화번호의 경우
// 예) 서울지역번호인 경우 "02-1234-5678"
if (digits.startsWith("02")) {
return digits.replaceFirst("(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3");
} else {
// 기타 지역의 경우 "031-123-4567" 형태 (지역번호 3자리, 나머지 3-4 자리)
return digits.replaceFirst("(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3");
}
} else if (digits.length() == 11) {
// 11자리 전화번호의 경우 "010-1234-5678"
return digits.replaceFirst("(\\d{3})(\\d{4})(\\d{4})", "$1-$2-$3");
}
// 위 조건에 해당하지 않으면 원본 문자열 반환
return phoneNumber;
}
// 메인 메서드를 통해 포맷팅 결과를 확인할 수 있습니다.
public static void main(String[] args) {
String[] testNumbers = {
"01012345678",
"0212345678",
"0311234567",
"010-1234-5678",
"(010)12345678"
};
for (String number : testNumbers) {
System.out.println("원본: " + number + " -> 포맷팅 결과: " + formatPhoneNumber(number));
}
}
}
끝.
반응형
'JAVA' 카테고리의 다른 글
Java - Custom Annotation 만들기 (기본 개념과 구현 방법) (0) | 2025.02.25 |
---|---|
Java - Enum 클래스 사용법 (0) | 2025.02.22 |
Java - Collection Framework의 꽃 Map 사용법 및 활용법 (0) | 2025.02.17 |
Java - Set 사용 법 (HashSet, TreeSet, LinkedHashSet) (0) | 2025.02.15 |
Java - List 인터페이스 (ArrayList, LinkedList, Vector 등) (1) | 2025.02.12 |