관리 메뉴

100세까지 코딩

[자바 공부] String 메서드 정리 본문

JAVA

[자바 공부] String 메서드 정리

100세까지 코딩 2023. 9. 8. 20:29

String 클래스는 문자열에 대해 검색, 교체, 합체 등의 메서드를 제공한다.

대표적인 메서드를 알아보자.

1) String.concat(String str)

public class Main {
    public static void main(String[] args) {
        String str = "hi";
        System.out.println(str.concat(" java"));
    }
}

결과 :

두 개의 문자열을 합쳐서 반환한다.

2) String.replace(String target, String replacement)

public class Main {
    public static void main(String[] args) {
        String str = "1234512345";
        System.out.println(str.replace("123","321"));
    }
}

결과 :

특정 문자열을 찾아 사용자가 입력한 문자열로 변경한다.
replaceAll을 사용하면 정규표현식을 사용할 수 있다.

3) String.charAt(int index)

public class Main {
    public static void main(String[] args) {
        String str = "1234512345";
        System.out.println(str.charAt(3));
    }
}

결과 :

문자열의 Index번째의 문자를 반환한다.

4) String.indexOf(String str)

public class Main {
    public static void main(String[] args) {
        String str = "1234512345";
        System.out.println(str.indexOf("34"));
    }
}

결과 :

문자열 앞에서부터 해당 str을 찾아서 str이 시작하는 Index를 반환한다. 
찾지 못하면 -1을 반환한다.

5) String.substring(int beginIndex, int endIndex)

public class Main {
    public static void main(String[] args) {
        String str = "1234512345";
        System.out.println(str.substring(4,8));
    }
}

결과 :

시작 Index부터 endIndex -1까지 반환한다.
endIndex 생략 시, 시작 Index부터 끝까지 반환한다.
subString이 아닌 substring인 것에 유의!

6) String [ ] split(String regex)

public class Main {
    public static void main(String[] args) {
        String str = "1234512345";
        String[] strArr = str.split("4");
        for(String s : strArr) {
            System.out.print(s+" ");
        }
    }
}

결과 :

문자열을 특정 문자를 기준으로 나눈다.

7) String.contains(CharSequence s)

public class Main {
    public static void main(String[] args) {
        String str = "1234512345";
        System.out.println(str.contains("123"));
    }
}

결과 :

특정 문자가 포함되어 있는지 확인한다.

8) String.toUpperCase(), String.toLowerCase()

public class Main {
    public static void main(String[] args) {
        String str = "Hello, world";
        System.out.println(str.toUpperCase());
        System.out.println(str.toLowerCase());
    }
}

결과 :

모든 문자열을 대문자(Upper) 또는 소문자(Lower)로 바꾼다.

9) String trim()

public class Main {
    public static void main(String[] args) {
        String str = "   Hello, world   ";
        System.out.println(str.trim());
    }
}

결과 :

처음과 끝에 있는 공백들을 제거한다.
단, 중간에 있는 공백은 제거하지 않는다.

10) String.toCharArray()

public class Main {
    public static void main(String[] args) {
        String str = "Hello, world";
        char[] charArray = str.toCharArray();
        for(char c : charArray) {
            System.out.print(c+" ");
        }
    }
}

결과 :

문자열을 char [ ]에 담아 반환한다.

11) String.length()

public class Main {
    public static void main(String[] args) {
        String str = "Hello, world";
        System.out.println(str.length());
    }
}

결과 :

문자열의 길이를 반환한다.

12) String.equals(str2), String.compareTo(str2)

public class Main {
    public static void main(String[] args) {
        String s1 = "hello";
        String s2 = "HELLO";
        String s3 = "hello";

        System.out.println("--equals 실행--");
        System.out.println(s1.equals(s2));
        System.out.println(s1.equals(s3));

        System.out.println("--compareTo 실행--");
        System.out.println(s1.compareTo(s2));
        System.out.println(s1.compareTo(s3));
    }
}

결과 :

두 문자열의 구성 문자들이 동일한지 검사하는 메서드이다.
equals는 같으면 true, 다르면 false를 출력한다.
compareTo는 인수로 주어진 문자열보다 사전상 크면 +, 같으면 0, 작으면 -를 반환한다.
기본적인 것들이니 기억하자!!