본문 바로가기
개발/Java

[Java] split(regex , limit) limit 유무 차이

by 코딩하는 흰둥이 2023. 3. 30.
split(" ") 만 한 경우
	// try 공백 hello 공백 world 으로 되어있다
    String s = "try hello world";

        String[] check = s.split(" ");
        
        System.err.println(check.length);
        System.err.println(Arrays.toString(check));

공백이 2개가 있는 상황

split 조건을 (" ") 공백으로 하게 되면

 공백을 기준으로 문자열을 자른다

 

공백이 여러개 일때 split(" ")
	// try 공백공백 hello 공백 world 공백 으로 되어있다
    	String s = "try  hello world ";

        String[] check = s.split(" ");
        
        System.err.println(check.length);
        System.err.println(Arrays.toString(check));

공백이 4개가 있는 상황

split 조건을 (" ") 공백으로 하게 되면

try 와 hello 사이에 공백이 2개 였기 때문에

1개의 공백은 잘라지고 나머지 1개의 공백은 배열에 들어갔다

그러나 world 뒤에 있던 공백은 데이터가 없고

split에 의해 잘려져 배열에 들어가지 않았다

배열의 크기도 4

 

공백이 여러개 있고 split(" " , -1) limit를 음수로 주었을 때
	// try 공백공백 hello 공백 world 공백 으로 되어있다
	String s = "try  hello world ";

        String[] check = s.split(" ",-1);

        System.err.println(check.length);
        System.err.println(Arrays.toString(check));

공백이 4개가 있는 상황

split 조건을 (" ",-1) 공백과 limit을 -1 로 하게 되면

try 와 hello 사이에 공백이 2개 였기 때문에

1개의 공백은 잘라지고 나머지 1개의 공백은 배열에 들어갔으며

배열의 크기가 5이며 world 뒤에 있던 공백까지 배열에 들어간 것을 확인 할 수 있다.

댓글