[JAVA] 1. 문자열 분리하기(substring(), split(), indexOf(), toCharArray())

쟈니·2023년 6월 30일
0

JAVA

목록 보기
1/8

문자열 분리하기

자바 코딩테스트를 진행하다보면, 입력 받은 문자열의 타입, 형태를 변환하는 문제가 나온다.
파이썬을 사용할때는 split()으로 조건에 구애받지 않고 리스트에 문자열을 쪼개어 저장할 수 있었는데, 자바는 어떤 식으로 문자열을 분리하고, 문자열에서 배열 형태로 변환하는지 알아보자!


String.substring()

가장 익숙한 문자열 함수이다. String 클래스는 char를 여러개 붙여놓은 것과 같다.
그렇기 때문에 입력된 문자열의 문자들은 순서대로 char배열의 index값(0부터) 을 가진다.

String.substring(start);
String.substring(start, end);

// 특정 문자 이후 문자열 출력하기
String str = "ABC/DEF";
String result = str.substring(str.lastIndexOf("/")+1);
System.out.println(result);

// 특정 단어만 자르기
 String str = "대리 : 김철수, 부장 : 김영희";
        String target = "대리";
        int target_num = str.indexOf(target);
        System.out.println(target_num);
        String result= str.substring(target_num, (str.substring(target_num).indexOf(",")));
        System.out.println(result+"님");

split()

특정 문자를 기준으로 문자열을 잘라서 배열에 넣어주는 함수이다.
,이나 / 등의 특수 기호나 공백으로 문자열을 잘라서 배열에 넣을 때 용이하다.

String str = ""; //공백 문자열

for(int i = 0; i< 5; i++){
	str += i+","; //for 문을 이용하여 1,2,3,4, 작성
 
}

String[] array = str.split(","); // ,기준으로 문자열 쪼개어 배열로 저장
for(int i = 0; i < array.length; i++){
System.out.print(array[i]);
}

// 공백으로 문자열 자르기
String str = "a b c d e ";
String[] array = str.split(" ");

//문자열 한 문자씩 자르기
String str = "abcde";
String a = str.split("");

indexOf()

문자열 중 특정 문자에 대한 인덱스 값을 알 수 있다.

.indexOf("찾을 특정 문자","시작할 위치")

  • 시작할 위치를 생략하면 처음부터 찾는다.
  • 찾지 못하면 -1 반환

lastIndexOf()

.lastIndexOf()

  • 특정 문자를 뒤(오른쪽)에서 앞(왼쪽)으로 이동하여 찾는다. 왼쪽 기준에서 인덱스 값을 알 수 있다.
  • 찾지 못하면 -1 반환

toCharArray()


String str = "abc"
char[] array = str.toCharArray();
profile
시작은 미미하나 끝은 쥬쥬하다.

0개의 댓글