ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] 헷갈리는 문자열 함수 정리 (substring, split, charAt, indexOf, lastIndexOf)
    Java 2022. 5. 18. 16:18
    반응형

    substring()

    문자열의 '일부'를 뽑아오거나 여러 데이터를 하나의 문자열로 받아 원하는 문자열만큼 추출하는 메소드, 중간에 구분자가 

    없는 경우에 사용한다. 

     

    substring은 총 2가지가 있다

     

    substring ( int beginIndex ) : 시작 인덱스부터 끝까지

    substring ( int beginIndex, endIndex ) : 시작 인덱스부터 끝 인덱스 -1 까지 

    주의사항은 beginIndex는 0에서 시작하고 endIndex는 자르려는 글자 끝 index보다 1을 더해줘야 한다.

     

    String str = "ABCDEFGHIJ" 가 있다고 가정하면,  인덱스는 0부터 시작된다.

    그러므로 A는 0, B는 1, C는 2가 된다.

     

    A  B  C  D  E  F  G  H  I  J  

    0  1   2  3  4  5  6  7  8  9 

    A B C D E F G H I J
    0 1 2 3 4 5 6 7 8 9

     

    A 부터 D까지 잘라 오려면 

    str.substring(0,  4);

     

    F 부터 J까지 잘라 오려면 

    str.substring(5, 9);

     

    이런식으로 마지막 인덱스는 자르려는 글자 끝보다 항상 +1을 해줘야한다.

     

    public class test {
    
    	public static void main(String[] args) {
    		String str = "ABCDEFGHIJK";
    	    
    	    String result1 = str.substring(0,4);
    	    String result2 = str.substring(5,9);
    	}
    }

    결과값

    result1 : ABCD

    result2 : FGHIJ

     

     

     

     


    split()

    split안에 넣어놓은 구분자를 기준으로 문자열을 잘라서 저장한다. String[] 을 리턴

    	public static void main(String[] args) {
    		String str = "DOG#CAT#RABBIT#SHEEP";
    		
    		String[] result = str.split("#");
    		
    		for (int i = 0; i <result.length; i++) {
    			System.out.println("결과 값 [" + (i+1) + "번쨰] :" + result[i]);
    		}
    	}

    이 예제에서는 str.split("#"); 

    즉 # 을 기준으로 문자열을 잘라서 배열에 저장하게 된다.

     

    결과값

     

     

     


    charAt()

    문자'열'에서 문자를 뽑는 함수이다. charAt 은 리턴타입이 char형으로 String 변수에서 사용 할 수있다.

    substring 이랑 헷갈릴 수 있지만 charAt은 '한' 문자열만 뽑아낸다

     

    	public static void main(String[] args) {
    		String str = "나는 짱이다";
    		
    		System.out.println(str.charAt(3));
    	}

    결과값

     

     


    indexOf()

    문자열 중 입력받은 문자가 있으면 해당 문자열 위치의 인덱스 값을 리턴하고 없으면 -1을 리턴한다.

    문자열의 조회는 0부터 시작 

     

    	public static void main(String[] args) {
    		String str = "가나다라마바사아자차카타파하";
    		
    		System.out.println(str.indexOf("파"));
    	}

    str.indexOf("파");

    파 문자열의 위치를 '왼쪽에서부터' 조회한다.

     

    결과값

     

    lastIndexOf()

    	public static void main(String[] args) {
    		String str = "가나다파라마파바사아자차카타파하";
    		
    		System.out.println(str.indexOf("파"));
    	}

    indexOf는 왼쪽에서부터 조회를 했다. 이와 반대로 latIndexOf는 반대서부터 조회를 하게된다.

     

     

    결과값

     

    반응형

    'Java' 카테고리의 다른 글

    [Java] Exception - 예외처리  (0) 2022.05.20
    [Java] API - String 클래스  (0) 2022.05.19
    [Java] 내부 클래스  (0) 2022.05.18
    [Java] 인터페이스 default 메소드  (0) 2022.05.18
    [Java] 추상클래스 abstract  (0) 2022.05.17

    댓글

Designed by Tistory.