티스토리 뷰

반응형

프로그램을 짜다보면 숫자인지 여부를 체크해야 할 때가 있다.

 

char로 잘라서 for문 돌려서 한자한자 숫자인지 아닌지 체크할 수 있다.

이렇게 이해하기 쉽게 체크할 수도 있지만,

코딩이 멋지진 않다 ㅋㅋ

 

그렇다면 어떻게 체크해야 멋있을까??

 

정규식을 사용해보자!!!

 

for문 없이 숫자체크가 가능하다!

 

 

public static boolean inNumeric(String s){

return s.replaceAll("[+-]?\\d+","").equals("") ? true : false;

}

 

위와 같은 매서드를 사용하면 숫자체크가 가능하다.

 

체크하고자 한 문자열 s 를 넣으면, s 문자열 안의 숫자들을 다 공백처리를 한다.

만일 문자열 s가 공백만이 남아있다면 이것은 숫자였으므로 true

다른 문자열이 남아 있다면 이것은 숫자가 아니므로 false를 리턴한다.

 

굵게 파란색으로 표시한 부분이 정규식 부분인데, \\d 를 사용해서 숫자체크를 해도 되고,

"[0-9]+" 이런식으로 체크해서 숫자체크를 해도 된다.

 

영문 소문자도 허용한다면,

"[a-z0-9]+" 이렇게 체크를 하면 되고,

 

눈치 챘겠지만 영문 대문자도 허용한다면

"[a-zA-Z0-9]+" 이렇게 체크를 하면 된다.

 

 

다음부턴 문자열 체크를 할때 split 으로 쪼개서 for문을 돌리면서 char 형태로 아스키 값을 비교해서 한글자씩 체크하기보단,

정규식을 사용한 메서드를 통해 깔끔하게 숫자체크를 해보면 좋을듯 싶다~~

(개인적으로 이게 깔끔해보여요~~ㅎㅎ)

 

그럼 이만~

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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
글 보관함
반응형