IT•개발 끄적/Java
[Java] 문자열(String) 대소문자 변환 및 비교(toUpperCase, toLowerCase)
소다맛사탕
2021. 5. 4. 09:07
반응형
안녕하세요. 소다맛사탕 입니다.
이번 포스팅은 문자열(String) 메서드중 대소문자로 변환하는 메서드와 그 메서드를 이용한 비교를 알아보려고 합니다.
1. toUpperCase()
알파벳 대문자로 변환한 새로운 문자열을 리턴한다.
2. toLowerCase()
알파벳 소문자로 변환한 새로운 문자열을 리턴한다.
String strVal1 = "java test upper";
String strVal2 = "JAVA TEST LOWER";
strVal1 = strVal1.toUpperCase();
strVal2 = strVal2.toLowerCase();
System.out.println("대문자로 : "+strVal1);
System.out.println("소문자로 : "+strVal2);
>> 결과
>> 대문자로 : JAVA TEST UPPER
>> 소문자로 : java test lower
toUpperCase()와 toLowerCase() 메서드는 영어로 된 두 문자열을 대소문자와 관계없이 비교할 때 주로 사용한다.
3. 변환된 대소문자 비교
기본적으로 문자를 비교할 때 equals() 메서드를 사용하지만, 대소문자로 변한 문자는 equals() 메서드 사용시 비교값이 틀리다 나오게 됩니다.
그래서 대소문자로 변환된 문자를 비교하거나 같은 문자인지 확인할때 쓰는 메서드가 바로...
equalsIgnoreCase()
String strEq1 = "java test equals";
String strEq2 = "JAVA TEST EQUALS";
String strLower1 = "java test equals";
String strLower2 = "JAVA TEST EQUALS";
strLower1 = strLower1.toLowerCase();
strLower2 = strLower2.toLowerCase();
// 일반적인 문자 비교
if(strEq1.equals(strEq2)) { // false
System.out.println("두 글자가 같다.");
} else {
System.out.println("두 글자가 같지않다.");
}
System.out.println("======================");
// 형변환 후 문자 비교
if(strLower1.equals(strLower2)) { // true
System.out.println("두 글자가 같다.");
} else {
System.out.println("두 글자가 같지않다.");
}
System.out.println("======================");
// 대소문자 상관없이 문자 비교
if(strEq1.equalsIgnoreCase(strEq2)) { // true
System.out.println("두 글자가 같다.");
} else {
System.out.println("두 글자가 같지않다.");
}
if(strLower1.equalsIgnoreCase(strLower2)) { // true
System.out.println("두 글자가 같다.");
} else {
System.out.println("두 글자가 같지않다.");
}
>> 두 글자가 같지않다.
>> ======================
>> 두 글자가 같다.
>> ======================
>> 두 글자가 같다.
>> 두 글자가 같다.
예시와 같이 일반적인 문자열 비교 메서드는 대소문자를 맞추어야 하지만,
equalsIgnoreCase() 메서드의 경우 대소문자의 구분에 상관없이, 글자가 똑같다면 true를 뱉어낸다.
오늘은 간단하게 문자열을 대소문자로 만들고, 문자열 비교에 대해 알아 보았습니다.
javaScript나 정규표현식으로 대소문자를 비교하고 바꾸는 방법도 있으니, 이 방법 이외의 것들도 찾아보세요.