티스토리 뷰

 

java에는 String을 구분자로 나누어 String [] 배열로 만들어주는 split()을 제공한다.

 

 

1.split(String regex)

 

String s ="010-3489-8411";
String[] sArr = s.split("-");
		
for(int i=0;i<sArr.length;i++) {
	System.out.println(sArr[i]);
}

 

Stirng s를 "-" 구분자로 나누어 각각 배열에 저장하게 된다.

실행하면 아래와 같은 결과를 볼 수 있다.

 

2.split(String regex,int limit)

 

 

String s ="010-3489-8411";
String[] sArr = s.split("-",2);
		
for(int i=0;i<sArr.length;i++) {
	System.out.println(sArr[i]);
}

 

java에서는 split()을 이런 형식으로도 제공하는데 구분자 외에 파라미터인 limit을 통해 배열의 크기를 고정시킬 수 있다.

배열의 크기를 2로 고정시키면 나머지는 나뉘어지지 않고 하나로 뭉쳐서 배열에 들어가게 되어 아래와 같이 된다.

 

 

 

 

※만약 일반 문자가 아닌 특수문자를 구분자로 쓴다면??

 

split(String regex)의 구분자로 들어가는 regex는 정규식 표현을 나타낸다. 따라서 |. ^ 등등을 구분자로 쓰는 경우 원하는 결과를 얻지 못하게 된다.

 

해결방법으로는 구분자 앞에 \\ 혹은 [구분자] 이런식으로 써준다면 원하는 결과를 얻을 수 있다.

 

String s ="010|3489|8411";
String[] sArr = s.split("\\|");
		
for(int i=0;i<sArr.length;i++) {
	System.out.println(sArr[i]);
}

 

 

+ String에서 \ 쓰기 위해 \\로 치환해서 사용한다 이경우에는 아래와 같이 처리!

String s ="010\\3489\\8411";
String[] sArr = s.split("\\\\");
		
for(int i=0;i<sArr.length;i++) {
	System.out.println(sArr[i]);
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함