[JAVA] replaceAll로 Mac Address 포맷 형식 맞추기
Mac Address는 랜카드의 물리적 주소를 말하며, PC의 유일한 고유 주소값이다.
16진수로 표현되며, cmd창에서 ipconfig에서 물리적 주소에서 해당 PC의 Mac Address를 확인 할 수 있다.
MacAddress를 path 값으로 받아서 암호화 하는 작업 시, 콜론(:)을 path값으로 받을수가 없어서 설정해 놓은 length와 일치 하지 않아 작업이 정상적으로 처리가 되지 않는 문제가 발생했다.
예를 들면, vo.getMacAddress()에 있는 값이 00:15:5D:03:8D:01이 아닌 00155D038D01인 이유로 length가 모자란 것이다.
아래와 같이 replaceAll을 통해 가져온 Mac Address에 콜론을 넣기로 하였다.
우선 replaceAll()은 대상 문자열을 원하는 문자값으로 모두 변환하는 함수이다.
replaceAll("변환 대상", "변환할 문자열");
vo.getMacAddress().replaceAll("(.{2})", "$1"+':').substring(0,17);
위에서 표현된 정규식을 해석해보자면, 먼저 (.{2}) 의 경우 모든 문자열에 대해 2번씩 끊어줌을 나타낸다.
. : 모든 문자(와일드카드), {} : 반복개수
$1 : 일치하는 1개의 값
학원 프로젝트 할 때도 느꼈지만 정규화는 아직 어렵다🥹
참고자료
https://m.blog.naver.com/kangyh5/221684721675
맥어드레스 확인하기(mac address)
맥어드레스는 네트워크 어댑터(랜카드)의 물리적 주소를 말하며, 내 PC의 유일한 고유의 주소이다. 참고...
blog.naver.com
https://itecnote.com/tecnote/java-convert-string-to-macaddress-formate-in-java/
Java – Convert String to macAddress Formate in java – iTecNote
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help
itecnote.com
https://sysops.tistory.com/174
정규표현식(Regular Expression) 사이트 및 팁
정규식 테스트 사이트 중 가장 많이 사용되는 사이트 1 http://www.regexr.com 정규식 테스트 사이트 중 가장 많이 사용되는 사이트 2 https://regex101.com/ Ruby기반 정규식 테스트 http://rubular.com/ Java기반 정
sysops.tistory.com