我实际上有一个简单的问题。当您检查以下代码时,您将理解我的意思。
function isPalindrome(string){
string = string.toLowerCase();
var charArr = string.split('');
charArr.forEach( char => {
console.log(char);
})
console.log(charArr.length)
}
isPalindrome("İris");
输出
i
̇ <- what is this ?
r
i
s
5
如您所见添加额外字符。我无法解决这个问题。有办法解决这个问题吗?
答案 0 :(得分:3)
这很有效。
您在使用toLowerCase
后删除了可能的特殊字符。您可以使用replace(/[^\w\s]/gi, '')
function isPalindrome(str){
var charArr = str.toLowerCase().replace(/[^\w\s]/gi, '').split(""); //toLowerCase --> remove special characters --> split the string
charArr.forEach( char => {
console.log(char);
})
console.log(charArr.length)
}
isPalindrome("İris");