toLowerCase()
사용replaceAll
사용class Solution {
public boolean isPalindrome(String s) {
String newString = s.toUpperCase().replaceAll("[^ㄱ-ㅎㅏ-ㅣ가-힣a-zA-Z0-9]", "");
// for 문 이용
// for(int i = 0 ; i < newString.length()/2 ; i++){
// if(newString.charAt(i) != newString.charAt(newString.length()-1-i)){
// return false;
// }
// }
// while 문 이용
int left = 0;
int right = newString.length()-1;
while(left < right){
if(newString.charAt(left) == newString.charAt(right)){
left++;
right--;
}else{
return false;
}
}
return true;
}
}
✅ 텍스트에서 원하는 조건과 일치하는 문자열을 찾아내거나, 원하는 조건과 텍스트가 일치하는지 참/거짓 여부를 판단하는 등의 상황에 사용된다.
[^a-zA-Z0-9]
[]
: 문자열을 뜻한다.
[^문자열]
: 문자열 안의 not
^
, \A
: 문자열의 시작
$
: 문자열의 종료
a-z
: 소문자 전체
A-Z
: 대문자 전체
0-9
: 숫자 전체
가-힣
: 한글 전체
\d
: 숫자와 매치, [0-9]
와 동일한 표현식
\D
: 숫자와 아닌 것과 매치, [^0-9]
와 동일한 표현식
\s
: whitespace 문자와 매치, [ \t\n\r\r\f\v]
와 동일한 표현식
\S
: whitespace 문자가 아닌 것와 매치, [^ \t\n\r\r\f\v]
와
동일한 표현식
\w
: 문자+숫자와 매치, [a-zA-Z0-9_]
와 동일한 표현식
\W
: 문자+숫자가 아닌 문자와 매치, [^a-zA-Z0-9_]
와 동일한 표현식