🥹

아좌잣 홧팅이닷!

토독토독..💻

개발새발🐶🐾🐥🐾/JAVA

[JAVA] 문자열 자르기 ( substring(), split() ) 그리고 같이 알아두면 활용도 좋은 ( indexOf() )

SU_VIN 2022. 11. 14. 22:13
반응형

1. indexOf(찾는문자from index)  

indexOf() 는 간단하게 내가 찾고싶은 문자열의 index를 반환해준다.

String str ="010-1234-5678";

str.indexOf("-") // 3

주의할 점은 같은 문자가 여러 개 있어도 처음 찾은 문자의 index만 반환한다. 만약 뒤에 있는 "-"를 반환하고 싶다면

String str ="010-1234-5678";

str.indexOf("-",4) // 8

3번 index에 "-"가 있었으니 3번 이후인 4번 index를 넣어주면 4번 index부터 내가 찾는 문자를 찾아준다.

 

 

 

 


 

2. substring(start index, end index)  

end index는 생략 가능하다 ..

String str = "가나다라마바사";

str.substring(0,4); //가나다라 (0번째 index '가'부터  4번째 index '마' 전인 '라'까지 출력)
str.substring(4); //마바사 (end index 생략시 start index 부터 끝까지 출력)

※ 주의할 점은 end index까지가 아닌 end index 직전까지 출력이 된다는 점이다

 

간단하게 활용을 해보자

//특정 문자 이후로 자르고 싶을때
String str = "가나다#라마바";
str.substring(str.indexOf("#")+1); //indexOf를 활용할 수 있다.

//마지막 n개 단어를 자르고 싶을때
str.substring(str.length()-n); //n이 3이라면 마지막 3단어인 '라마바' 출력

 

 


 

3. split(기준문자)  

split 은 문자열을 특정한 문자를 기준으로 잘라준다 여기서 중요한 건 자른 문자열들을 배열에 넣어준다는 것이다
문자열->배열 이 때문에 코테 등에서 잘 활용할 수 있다.

        String str = "1/2/3/4/5";
        String[] arr = str.split("/"); //꼭 배열을 만들에 배열에 담아줘야한다.

        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
        //1
        //2
        //3
        //4
        //5

 

간단하게 활용을 해보자

        //한 단어씩 배열에 넣기
        String str = "안녕하세요";
        String[] arr = str.split(""); //아무런 설정도 안 해주면 한 단어씩 잘라준다.

        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
        //안
        //녕
        //하
        //세
        //요
        //공백으로 잘라 배열에 넣기
        String str = "안녕하세요 저는 자바 입니다.";
        String[] arr = str.split(" "); //공백으로 설정

        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
        //안녕하세요
        //저는
        //자바
        //입니다.

※split() 은 문자열을 배열로 바꿔준다는 성질을 기억하면 여러모로 써먹기 좋다!!

 

 

 

반응형