[Java] String 관련 함수

H_rin·2023년 8월 23일

문자열 함수

알고리즘과 웹 개발에서 기본이 되는 문자열 관련 함수를 정리해보자.

(1) 문자열 비교

equals()

두 개의 문자열이 동일한 값을 가지고 있는지를 비교하여 결과값 리턴 함수
객체끼리 내용 비교

==

주소의 값을 비교

예제로 ==equals() 의 차이점을 비교해보자

public class Test {

    public static void main(String[] args) throws Exception{

        String str1 = "abc";
        String str2 = str1;
        String str3 = new String("abc");

        // == 연산자는 주소를 비교
        System.out.println(str1 == str2);         // true
        // str2 에 st1 값을 넣었으므로 주소 같이 공유

        System.out.println(str1 == str3);        // false
        // str1 과 str3는 각각 생성 되었으므로 주소가 다름

        // equals() 는 내용을 비교
        System.out.println(str1.equals(str2));    // ture
        System.out.println(str1.equals(str3));    // true
        // 내용을 비교하기떄문에 abc 내용이 같으므로 true 반환
        
    }
}

그래서 문자열을 비교할 때는 == 보다는 equals 를 사용

(2) length()

문자열 길이 반환

(3) substring()

문자의 시작번호 또는 문자의 시작과 끝 을 지정
-> 문자열 중 특정 부분을 뽑아낼 때 경우 사용

public class Test{

	public static void main(String[] args) {
	    String example = "안녕하세요";
	    
	    String target1 = example.substring(0);
	    String target2 = example.substring(1, 4);   // (1, 2, 3) 인덱스까지 출력
	    String target3 = example.substring(4);
	    
	    
	    System.out.println(target1);     // 안녕하세요
	    System.out.println(target2);     // 녕하세
	    System.out.println(target3);     // 요
	}
}

(4) toUpperCase() / toLowerCase()

  • toUpperCase() : 문자열 모두 대문자 변경
  • toLowerCase() : 문자열 모두 소문자 변경

(5) indexOf()

문자열에서 특정 문자가 시작되는 인덱스 리턴

(6) replace() / replaceAll() / replaceFirst()

특정 문자를 원하는 문자로 변경하고 싶을 경우 사용

(7) split()

지정한 문자로 문자열을 나눌 수 있다. 받는 변수가 배열로 선언되어야 한다.

String str = "abc#def#ghi";
String[] splitStr = str.split("#");

(8) charAt()

String 타입의 문자열에서 특정 문자를 char 타입으로 변환할 때 사용하는 함수

public class Test{
	public static void main(String[] args) {
	    String example = "안녕하세요";
        
	    char target1;
	    char target2;
	    char target3;
	    
	    target1 = example.charAt(0);
	    target2 = example.charAt(1);
	    target3 = example.charAt(2);
	    
	    System.out.println(target1);    // 안
	    System.out.println(target2);    // 녕
	    System.out.println(target3);    // 하
	}
}

(8)-1. 숫자 형태 String에서 int로 변환

String 관련 문제를 풀 때 꼭 알아야 하는 함수
int num = str.charAt(i) - '0';

String numbers = "12345";

// 숫자로 구성된 String 변수에서 특정 숫자를 바로 int 변수로 가져올 수 있다.
int targetNumber1 = numbers.charAt(0) - '0';      // 1
int targetNumber2 = numbers.charAt(1) - '0';      // 2
int targetNumber3 = numbers.charAt(2) - '0';      // 3

System.out.println("targetNumber1 = "+targetNumber1);
System.out.println("targetNumber2 = "+targetNumber2);
System.out.println("targetNumber3 = "+targetNumber3);

int test1 = 10 - targetNumber1;      // 9
int test2 = 10 - targetNumber2;      // 8
int test3 = 10 - targetNumber3;      // 7

System.out.println("10 - targetNumber1 = "+test1);
System.out.println("10 - targetNumber2 = "+test2);
System.out.println("10 - targetNumber3 = "+test3);
profile
hyerin / 한단계씩 배워가는 백엔드 개발자..(‘•̀ ▽ •́ )φ

0개의 댓글