티스토리 뷰

Java/기본

014. 자바 : 문자열 API

따강아지 2022. 3. 1. 01:15

주요 문자열 API

1. 문자열 길이 : String.length()

void stringLength(String str) {
    String str01 = new String("JAVA C");
    System.out.println("문자열 길이 : str01.length() = " + str.length());
}

 

2. 문자열 Object의 값이 있는지 없는지 비교 : str.isEmpty()

void stringisEmpty() {
    String str = new String("JAVA C");
    String msg = "";
    if (str.isEmpty()) {
      msg = "문자열이 비어 있습니다.";
    } else {
      str = "문자열이 비어 있지 않습니다.";
    }
    System.out.println( String.format("%s str01.isEmpty() = %s"
            , msg , str.isEmpty()) );

}

 

3. 문자열(String)을 특정 문자를 찾는 방법 : String.charAt()

1. Char 배열로 변환( 문자열. toCharArray() )  후 위치 값으로 찾는 방법
2. chatAt(index) 사용 : index
3. 문자열을 배열로 바꾸기 : 

void stringToChars() {
    String str01 = new String("JAVA C");
    
    // 1. .toCharArray() : Char 배열로 변환 후 위치 값으로 찾음 :
    char[] chars = str.toCharArray();
    System.out.println("문자 : 두번째 문자 = " + chars[2]);

    // 전부 출력
    for (char ch: str.toCharArray()) {
      System.out.println("문자 : " + ch);
    }

    // 2. charAt(index) : index는 찾고자 하는 문자 위치
    System.out.println("문자 : 두번째 문자 = " + str.charAt(2));
    
    // 전부 출력
    for (int index = 0; index < str.length() ; index ++ ) {
      System.out.println(String.format("문자 : str01.charAt(%s) = %s"
              , index, str.charAt(index)));
    }
  }

4. 문자열에서 특정 문자를 찾아서 문자 배열의 값 바꾸기 : String.getChars()

String.getChars(int srcBegin, int srcEnd, char dst [], int dstBegin)
- srcBegin : 문자열에서 복사할 첫 번째 위치
- srcEnd : 문자열에서 복사할 마지막 위치의 다음 위치 ( 길이 ) 
- dst [] : 복사 대상 문자 배열 
- dstBegin : 복사 대상 문자 배열의 시작 위치

void replaceStringRangeToChars(String str) {
    String str = new String("JAVA C");
    char[] chars = new char[]{'a', 'b', 'c'};
    System.out.println("문자 배열 : chars = " + (new String(chars)).toString());
    str.getChars(0,2, chars, 0);
    System.out.println("문자 배열 : chars = " + (new String(chars)).toString());
}

5. 문자열 비교 ( stack의 값 비교 ) : String.equals(), String.equalsIgnoreCase()

Method : String.equals(Object anObject) : 문자열 비교 ( stack의 값 비교 )
             - Object : 값을 비교할 대상 Object

Method : String.equalsIgnoreCase(Object anObject) : 대소문자 구분 없이 문자열의 실제 내용 비교
             - Object : 값을 비교할 대상 Object

void stringEqualstring() {
    String str01 = new String("JAVA C");
    String targetString = sourceString;
    if (targetString.equals(sourceString)) {
      System.out.println("값이 같음");
    }
    
    String lcoalString = "JaVa";
    if (sourceString.equals(lcoalString)) {
      System.out.println("값이 같음");
    } else {
      if (sourceString.equalsIgnoreCase(lcoalString)) {
        System.out.println("대소문자 구분 없이 문자열의 실제 내용 비교 값이 같음");
      }
    }
}

6. 해당 문자열과 매개변수의 문자열을 사전 순으로 비교 : string.compareTo(Object anObject)

* 해당 문자열과 매개변수의 문자열을 사전 순으로 비교
  Method : String.compareTo(Object anObject) 
              - Object : 값을 비교할 대상 Object
              - result : -1( String가 작음 ), 0 (같음) , 1 이상 (String가 큼 ) 

* 해당 문자열과 매개변수의 문자열을 사전 순으로 비교 ( 대소문자 무시 )
  Method : String.compareToIgnoreCas(Object anObject) *
              - Object : 값을 비교할 대상 Object
              - result : -1( String가 작음 ), 0 (같음) , 1 이상 (String가 큼 )

void stringCompareToString() {
    String str01 = "C";
    String str02 = "z";
    System.out.println(str01.compareTo(str02));
    
    System.out.println(str01.compareToIgnoreCase(str02));
}

 


7. 그 외 API

함수명 설명 반환 값
length
 
문자열의 길이 해당 객체의 문자열 길이를 반환(int형) 합니다.  (null은 포함하지 않음)
String str = "abcde";  
Syst
em.out.println(str.length());

isEmpty
 
문자열이 비어 있는지 확인 문자열의 길이(length)가 0이면 true 반환(boolean형), 0이 아니면 false를  반환
String str = new String();  
str.isEmpty())
 ? True : false;
charAt
 
문자 반환 문자열 중 해당 인덱스의 문자(char형)를 반환합니다.
(인덱스는 0 ~ 문자열의 길이(length)
String str = new String("abed");
System.out.println(str.charAt(2));
getChars
 
문자 배열 복사 문자열을 문자(char) 배열로 복사
String str = new String("abcd");  
char [] ch = new char[4];  
str.getChars(0, 2, ch, 0);  System.out.println(ch);
equals
 
문자열 비교 해당 문자열과 매개변수의 문자열이 같은 지 비교하여 true 또는 false를
반환합니다.(boolean형) ( == stack 주소 비교 )
String str = new String("abcd");  
String str2 = new String("abc");  
str.equals(str2) ? True : false;

equalsIgnoreCase 문자열 비교 대소문자 구분 없이 문자열의 실제 내용 비교
compareTo
 
문자열 비교(사전 순으로 대소 비교)

해당 문자열과 매개변수의 문자열을 사전 순으로 비교합니다.
String str = new String("aaa");  
String str2 = new String("bbb");

System.out.println(str.compareTo(str2))
indexOf
 
문자열 위치 해당 문자열이 위치하는 인덱스를 반환합니다.(int형)
String str = new String("abcd");  
System.out.println(str.indexOf("c"));
lastIndexOf
 
문자열 마지막 위치 해당 문자열이 마지막으로 위치하는 인덱스를 반환합니다.(int형)
String str = new String("abcdeabcda");
System.out.println(str.lastIndexOf("c"))
subString
 
문자열 자르기 해당 문자열의 인덱스만큼 잘라서 반환합니다.(String형)
String str = new String("abcdefg");  
System.out.println(str.substring(2,
 6));  
System.out.println(str.substring(5));
concat
 
문자열 합치기 해당 문자열 뒤에 매개변수 문자열을 서로 합칩니다
String str = new String("a");  
String str2 = new String("b");  
String str3 = new String();  
str3
 = str.concat(str2);

String str4 = str+str2;  
Syst
em.out.println(str3);  System.out.println(str4);

replace
 
문자열 치환 해당 문자를 찾아 다음 문자로 변경
String str = new String("abc");  
str = str.replace('b', 'k');  
System.out.println(str);

contains
 
문자열 포함 해당 문자열이 포함되어 있는지 확인합니다. 포함할 경우 true, 아닌 경우
false 반환(boolean형)
String str = new String("abc");  
str.contains("bc") ? True : false;
split
 
문자열 분리 문자열을 해당 문자열을 기준으로 모두 분리합니다.(String [] 반환)
String str = new String("a b c d e f");
String[] str2 = new String[6];  
for(int i = 0; i < 6; i++) {

    str2[i] = str.split(" ")[i];
}

for(int i = 0; i < 6; i++) {  
    Syst
em.out.print(str2[i]);

}
trim
 
문자열 공백 제거 해당 문자열의 앞, 뒤의 공백을 모두 제거합니다.(문자열 사이의 공백은
거되지 않음)
String str = new String(" a b c ");  
String str2 = str.trim();  
System.out.println(str2)
toLowerCase 소문자 변환 영문 문자를 모두 소문자로 변환
toUpperCase 대문자 변환 영문 무자를 모두 대문자로 변환

소스 :  https://github.com/hyomee/JAVA_EDU/tree/main/Variable/src/com/javavariable/string

 

GitHub - hyomee/JAVA_EDU: 자바 기초 교육

자바 기초 교육. Contribute to hyomee/JAVA_EDU development by creating an account on GitHub.

github.com

 

'Java > 기본' 카테고리의 다른 글

016. 자바 : 형변환  (0) 2022.03.01
015. 자바 : 변수 구분  (0) 2022.03.01
013. 자바 : 참조자료형 : 문자열  (0) 2022.03.01
012. 자바 : 2차원 배열  (0) 2022.03.01
011. 자바 : 참조자료형 : 배열  (0) 2022.02.27