ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] API - String 클래스
    Java 2022. 5. 19. 16:57
    반응형

    charAt(int index) 

    리턴타입 char

    해당 문자열 의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열 반환 

    	public static void main(String[] args) {
    		String str = "hello world";
    		char t = str.charAt(2);
    		
    		System.out.println(t);
    	}

     

    equals(Object anObject)

    리턴타입 booldean

    2개의 객체가 동일한지 검사하기 위해 사용한다. 

    public static void main(String[] args) {
    		String str1 ="1";
    		String str2 = new String("1");
    		String str3 = "1";
    		
    		if (str1 == str2) {
    			System.out.println("str1과 str2는 같습니다. ");
    		}else {
    			System.out.println("str1과 str2는 다릅니다.");
    		}
    		
    		if (str1 == str3) {
    			System.out.println("str1과 str3은 같습니다.");
    		}else {
    			System.out.println("str1과 str3은 다릅니다.");
    		}
    		
    		if (str1.equals(str3)) {
    			System.out.println("equals함수 이용 str1과 str3은 같습니다.");
    		}else {
    			System.out.println("equals 함수 이용 str1과 str3은 다릅니다.");
    		}

    결과는 

    str1과 str2는 다릅니다.

    str1과 str3은 같습니다.

    equals함수 이용 str1과 str3은 같습니다.

     

    여기서 equals() 와 == 가 헷갈리는 경우가 많다.

    equals()는 객체끼리 내용(값)을 비교할 수 있고, == 는 객체의 참조(주소)를 비교한다.

     

     

     

    indexOf(String str)

    리턴타입 int

    문자열 내에서 지정된 문자나 문자열이 처음 발견되는 인덱스를 반환한다. 만약 찾지 못할 경우 -1을 반환한다. 

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

    위의 예시를 보면, str에 '가나다라 마바사아' 라는 문자들이 들어있다.

    0  1   2  3   4  5  6  7  8

    가 나 다 라       마 바 사 아

    그중 indexOf("라") 라는 문자는 3번째에 들어있으므로 결과는 3이 출력된다. (index 는 0부터 시작) 

     

     

     

     

    length()

    리턴타입 int

    문자열의 길이를 알고자 할 때 사용된다.

    	public static void main(String[] args) {
    		String str ="9738291029334";
    		int a = str.length();
    		
    		 if (a == 13) {
    			System.out.println("주민등록 번호가 맞습니다. ");
    		} else {
    			System.out.println("주민등록 번호가 아닙니다.");
    		}
    	}

    str 에 있는 9738291029334가 '13자리이면 주민등록 번호가 맞습니다' 출력, 아니면 '주민등록 번호가 아닙니다' 출력

     

     

     

     

    replace(CharSequence target, CharSequence replacement)

    리턴타입 String

    문자열 데이터를 원하는 문자로 치환할 때 사용한다.

    	public static void main(String[] args) {
    		String str ="9738291029334";
    		
    		String s = str.replace("9", "z");
    		System.out.println(s);
    	}

    replace함수 사용법: replace( '기존문자' , '바꿀문자' );

    str="9738291029334" 를 

    String s 에 담아 replace를 해준다. 기존문자는 9 이고 바꿀 값은 z이다. 

     

    결과를 확인해보면 '9738291029334' 에서 'z7382z102z334' 로 바뀐다. 

     

     

     

    replaceAll(CharSequence target, CharSequence replacement)

    replaceAll은 자신이 바꾸고 싶은 문자로 전부 치환해준다. 그러나 replace 함수는 첫번째 인자값으로 정규식이 들어가 특수문자로도 

    치환이 되지만, replaceAll은 특수문자 치환 교체가 불가능하다. 패턴이 일치할 경우 모두 대치하며 정규식을 활용할 수 있다.

     

    str.replaceAll( "바꾸고 싶은 문자의 정규식", "치환할 문자" );

    	public static void main(String[] args) {
    		String str = "Hello \"world\"";
    		System.out.println("따옴표 포함 :" + str);
    		
    		//따옴표 제거 
    		str = str.replaceAll("\"", "");
    		System.out.println("따옴표 제거 "+ str);
    	}

    replace와 replaceAll의 사용법에 차이가 없는 것처럼 보이지만 치환해야 하는 대상을 선정하는데 복잡한 규칙이 필요하다면

    replaceAll이 유용하다. 

     

     

    substring(int beginIndex, int endIndex)

    리턴타입 String

    입력받은 위치를 기준으로 문자열을 잘라 리턴해준다.

    public static void main(String[] args) {
    		String str ="가나다라 마바사아";
    		
    		String result = str.replace("가", "카");
    		System.out.println(result);
    	}

    str.replace('가', '카');

    '가' 를 '카'로 변환하여 결과는 

    카나다라 마바사아  가 출력이된다. 

     

     

     

    toLowerCase()

    리턴타입 String

    입력 받은 인자값을 소문자로 변환해 리턴해준다.

    	public static void main(String[] args) {
    		String str = "HELLO WORLD";
    		System.out.println(str.toLowerCase());
    	}

     

     

    toUpperCase()

    리턴타입 String

    입력 받은 인자값을 대문자로 변환해 리턴해준다.

    	public static void main(String[] args) {
    		String str = "hello world";
    		System.out.println(str.toUpperCase());
    	}

     

     

    trim()

    리턴타입 String 

    문자의 처음과 마지막의 공백을 제거한다. String 클래스에 정의되어있다.

    	public static void main(String[] args) {
    		String str = " 동해물과 백두산이 마르고 닳도록 ";
    		// 아무것도 안했을 때 
    		System.out.println(str);
    		
    		//trim 적용 시 
    		String strTrim = str.trim();
    		System.out.println(strTrim);
    	}

    아무것도 적용하지 않은 상태에서의 출력:

     동해물과 백두산이 마르고 닳도록   ( 앞 뒤 공백 포함 )

     

    trim 적용시 

    동해물과 백두산이 마르고 닳도록( 공백 제거 ) 

    반응형

    댓글

Designed by Tistory.