JAVA

JAVA Substring 으로 문자열 자르기

동준1234 2024. 10. 23. 13:44

백준 문제를 풀다가 막히는 부분이 있어서 문자열을 자를 수 있는 함수가 있나 구글링해서 찾아봤다.

그러던 중 Substring 이라는 함수를 알게 되었고 상당히 유용할 것 같아서 블로그에 해당 공부 내용을

작성해보기로 했다.

Substring 이 무엇일까?

먼저 이 함수는 총 2가지 이다.

■ String substring (int index)

첫번째로 인자값을 하나만 받는 함수인데 이 인자값은 int 형으로 substring 하고자 하는

문자열의 앞에서부터 몇번째 위치인가를 지정하는 값이다.

이때 입력받은 인자값을 index 로 해당 위치를 포함하여 이후의 모든 문자열을 return시키는 함수이다.

이 index 값은 배열처럼 0부터 시작한다.

아래는 그 예시이다.

String str = "0123456789";

System.out.println(str.substring(5));

-> 56789

인자값의 이후부터 리턴되기 때문에 5부터 9까지의 값이 출력된다.(index 값 : 5)

문자열의 값이 정수가 아닌 문자여도 마찬가지이다. 공백도 문자이므로 한 자리에 포함된다.

String str = "안녕 하세요";

System.out.println(str substring(1));

-> 녕 하세요

■ String substring (int beginindex, int endindex)

이 함수는 입력 인자값이 2개이다.

위에 함수는 지정한 값에서부터 마지막값까지 다 출력시키는 함수였지만,

해당 함수는 다르게 시작 인덱스값을 지정하고 마지막 인덱스값까지 지정할 수 있다.

아래는 예시이다.

String str = "00012345";

System.out.println(str.substring(3,7));

-> 12345

보통 두번째 함수가 첫번째 함수보다 훨씬 많이 쓰이겠다.