티스토리 뷰
주요 문자열 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"; System.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; System.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++) { System.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
'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 |