Programming/Java

[Java] 문자열(String) 기본 메소드

당닝 2021. 9. 20. 20:49
728x90
  • 생성자
    • String str = "str";
    • String str = new String("str");
  • 주요 메소드
    • .length(): 문자열의 길이 (str.length())
    • .isEmpty(): 문자열이 비어있는 지 확인, 문자열의 길이(length)가 0이면 true 반환(boolean형), 0이 아니면 false를 반환
    • .charAt(int index): 문자 반환, 문자열 중 해당 인덱스의 문자(char형)를 반환합니다.(인덱스는 0 ~ 문자열의 길이(length) -1)
    • .getChars: 문자 배열 복사, 문자열을 문자(char) 배열로 복사 (str.getChars(02, ch, 0); // 시작 인덱스, 끝 인덱스, 복사 받을 char 배열 이름, 복사 시작 위치)
    • .equals(String str2): 문자열 비교, 해당 문자열과 매개변수의 문자열이 같은 지 비교하여 true 또는 false를 반환합니다.(boolean형)
    • .compareTo(String str2): 문자열 비교(사전 순으로 대소 비교), 해당 문자열과 매개변수의 문자열을 사전 순으로 비교
      • 반환값 :
        • str과 str2의 같을 경우 : 0
        • str이 str2보다 사전 순으로 앞인 경우 : -1
        • str이 str2보다 사전 순으로 뒤인 경우 : 1
        • * str의 마지막 문자열과 str2의 마지막 문자를 제외하고 같은 경우
          • 예 ) String str = new String("ccca"); String str2 = new String("cccz")
          • str과 str2의 마지막 문자열을 비교하여 사전 순 차이만큼 반환 : -25
    • .indexOf(String s): 해당 문자열이 위치하는 인덱스를 반환합니다.(int형) (해당 문자열이 존재하지 않으면 -1을 반환합니다.)
    • .lastIndexOf(String s) : 문자열 마지막 위치, 해당 문자열이 마지막으로 위치하는 인덱스를 반환합니다.(int형)
    • .substring(int start, (int end)): 문자열 자르기, 해당 문자열의 인덱스만큼 잘라서 반환합니다.(String형), (매개 변수가 2개인 경우 : 해당 범위만큼 자름, 1개인 경우 : 앞에서부터 인덱스만큼 자름)
    • .concat(String str2): 문자열 합치기, 해당 문자열 뒤에 매개변수 문자열을 서로 합칩니다.
    • .replace(String s1, String s2): 문자열 치환, 해당 문자를 찾아 다음 문자로 변경
    • .contains(String str2): 문자열 포함, 해당 문자열이 포함되어 있는지 확인합니다. 포함할 경우 true, 아닌 경우 false 반환(boolean형)
    • .split(String s): 문자열 분리, 문자열을 해당 문자열을 기준으로 모두 분리합니다.(String [] 반환)
    • .trim(): 문자열 공백 제거, 해당 문자열의 앞, 뒤의 공백을 모두 제거합니다.(문자열 사이의 공백은 제거되지 않음)
    • .toUpperCase()/.toLowerCase(): 문자열 전체 대문자/소문자 변환
public class str {
    public static void main(String[] args){
        String str = "abcde";

        // 문자열의 길이
        System.out.println(str.length()); // 5

        // 문자열이 비어있는 지 확인
        System.out.println(str.isEmpty()); // false

        // 문자 반환
        System.out.println(str.charAt(3)); // d
        
        // 문자 배열 복사
        char[] c = new char[4];
        str.getChars(0, 3, c, 0);
        System.out.println(c); // abc

        // 문자열 비교
        System.out.println(str.equals("abcde")); // true

        System.out.println(str.compareTo("abcde")); // 0
        System.out.println(str.compareTo("ab")); // 3
        System.out.println(str.compareTo("abcdg")); // -2

        // 문자열 위치하는 인덱스 반환
        System.out.println(str.indexOf("cd")); // 2

        // 문자열 마지막 위치
        System.out.println("abcabcabc".lastIndexOf("b")); // 7

        // 문자열 인덱싱, 문자열 자르기
        System.out.println(str.substring(3)); // de
        System.out.println(str.substring(1, 4)); // bcd

        // 문자열 합치기
        System.out.println(str.concat("fg")); // abcdefg
        System.out.println(str + "hij"); // abcdehij

        // 문자열 치환, 문자열 교체
        System.out.println("abcabcabc".replace("ab", "o")); // ocococ

        // 문자열 포함
        System.out.println(str.contains("abc")); // true

        // 문자열 분리
        String[] str2 = "hi my name is".split(" ");
        
        for(int i=0; i<4; i++){
            System.out.printf(str2[i] + "/");
        } // hi/my/name/is/
        System.out.println();

        // 문자열 공백 제거
        System.out.println("\t        bye        \n\n".trim()); // bye
    }
}
728x90