Java

[Java] 문자열을 처리하는 문자열 함수들

건휘맨 2024. 6. 3. 15:35

자바에서는 문자열을 다루는 다양한 함수를 제공하여 편리하고 유용한 문자열 처리를 할 수 있다.

이번 포스트에서는 자주 사용되는 문자열 관련 함수들을 소개

1. concat 함수
concat 함수는 문자열을 이어붙이는 함수


2. length 함수
length 함수는 문자열의 길이를 반환


3. substring 함수
substring 함수는 문자열의 일부를 추출


4. split 함수
split 함수는 문자열을 특정 구분자로 나눔

5. trim 함수
trim 함수는 문자열의 왼쪽 끝이나 오른쪽 끝에 붙어있는 공백을 제거

6. 대문자 변환과 소문자 변환
toUpperCase 함수는 문자열을 모두 대문자로 변환하고, toLowerCase 함수는 문자열을 모두 소문자로 변환

7. indexOf 함수
indexOf 함수는 특정 문자열이 어디에 있는지(인덱스)를 반환

8. compareTo 함수
compareTo 함수는 문자열의 크기를 비교

9. equals 함수
equals 함수는 두 문자열이 서로 같은지를 확인

위의 함수들을 활용하여 자바에서 문자열을 다루는 다양한 기능을 구현할 수 있다.

public class StringMain {

	public static void main(String[] args) {
   		// 문자열 관련 함수 소개
		String data1 = "abc";
		
		// concat 함수
		System.out.println(data1.concat("helloooooo"));
		
		// 문자열 길이 구하는 함수. length;
		System.out.println(data1.length());
		
		// 문자열 슬라이싱 하는 함수, 7번째부터 10번째까지 가져오시오.
		// python => data[6:10+1]
		data1 = "hello world";
		System.out.println(data1.substring(6));
		System.out.println(data1.substring(6, 9+1));
		
		// 문자열을 분리하는 함수 split
		data1 = "red, blue, white";
		String[] strArr = data1.split(", ");
		
		for(int i=0; i<strArr.length; i++) {
			System.out.println(strArr[i]);
		}
		
		// 문자열의 왼쪽 끝이나 오른쪽 끝에 붙어있는 공백을 제거하는 함수
		data1 = "        abc@naver.com          ";
		String data2 = "abc@naver.com";
		System.out.println(data1.trim());
		
		// 대문자 변환
		System.out.println(data2.toUpperCase());
		
		// 소문자 변환
		System.out.println(data2.toLowerCase());
		
		// 특정 문자열이 어디에 있는지(인덱스) 알려주는 함수
		System.out.println(data2.indexOf("@"));
		
		System.out.println(data2.indexOf("naver"));
		
		System.out.println(data2.toUpperCase().indexOf("NAVER"));
		
		// 문자열의 크기 비교 (작냐, 같냐, 크냐)
		// 영어는 알파벳순, 한글은 ㄱㄴㄷ순!!
		// compareTo, compareToIgnoreCase(대소문자 가리지않고 모두 소문자로 바꿔서 처리)
		if (data2.compareTo("abd") < 0) {
			System.out.println("작다");
		}else if (data2.compareTo("abd") == 0) {
			System.out.println("같다");
		}else {
			System.out.println("크다");
		}
		
		// 문자열이 서로 같은지만 확인하는 함수
		// equals 함수
		System.out.println(data2.equals("abc"));
		
		System.out.println(data2.equalsIgnoreCase("Abc@NAVEr.cOM"));
		
		System.out.println(data1);
		System.out.println(data2);
		
		if (data1.trim().equals(data2)) {
			System.out.println("로그인 성공");
		}else {
			System.out.println("이메일 주소가 다릅니다");
		}
    
    
    }
}