2016-08-03 3 views
0

회문 확인을위한 해결책을 찾으려고합니다. 내가 코드를 사용하는 경우 :Regex 자바 스크립트 : 문장 검색

function palindrome(str) { 
 
    var checkSpecial = str.replace(/[^A-Za-z0-9]/g, ''); 
 
    var checkPalindrome = str.split('').reverse().join(''); 
 
    return checkSpecial == checkPalindrome; 
 
} 
 
console.log(palindrome("_eye")); // false

그것은 false를 반환합니다. 영숫자가 아닌 문자를 제거 할 수없는 것 같습니다.

+0

, 문자열에 할당 가져다 교체의 결과가 확인되고, 그리고 질문은 정규 표현식을 사용하여 해결하기 위해 추가되지 않습니다. 위의 코드는 작동해야합니다 ... –

답변

4

물론, 물론 "eye" !== "eye_"입니다. 당신은 아마 당신은 두 문자열에서 특수 문자를 제거해야

function palindrome(str) { 
 
    var checkSpecial = str.replace(/[^A-Za-z0-9]/g, ''); 
 
    var checkPalindrome = checkSpecial.split('').reverse().join(''); 
 
    return checkSpecial == checkPalindrome; 
 
} 
 
console.log(palindrome("_eye")); // true

+0

어디서 잘못되었는지 이해합니다. 도와 주셔서 감사합니다. 나는 Stack Overflow에 게시하는 것을 처음 봤고, 다른 사람들이 문제를 신속하게 식별하고 신속하게 수정할 수있는 방법이 매우 멋지다고 생각합니다. – Andy

+0

반가워요. 대답을 수락하는 것을 잊지 마십시오! – Owen

0

합니다. palindromes를 테스트하기 위해 정규 표현식을 사용하려고하지는 않습니다 (이는 불가능하기 때문에 좋습니다). 고정 버전 :

어느 댓글이 의미가

function palindrome(str) { 
 
    var checkSpecial = str.replace(/[^A-Za-z0-9]/g, ''); 
 
    var checkPalindrome = checkSpecial.split('').reverse().join(''); 
 
    return checkSpecial == checkPalindrome; 
 
} 
 
console.log(palindrome("_eye")); // false

+0

입력 해 주셔서 감사합니다. 나는 이것이 어디서 잘못되었는지 이해한다. – Andy