toLowerCase 错误的小写字符“?”

vul*_*kan 1 javascript utf-8 lowercase

我实际上有一个简单的问题。当您检查以下代码时,您就会明白我的意思。

\n\n
function isPalindrome(string){\n  string = string.toLowerCase();\n  var charArr = string.split(\'\');\n\n  charArr.forEach( char => {\n    console.log(char);\n  })\n  console.log(charArr.length)\n}\n\nisPalindrome("\xc4\xb0ris");\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出

\n\n
i\n \xcc\x87  <- what is this ?\nr\ni\ns\n5 \n
Run Code Online (Sandbox Code Playgroud)\n\n

添加额外的字符,如您所见。我无法解决这个问题。有办法解决这个问题吗?

\n

ale*_*exP 5

这是有效的。\n您必须在使用 后删除可能的特殊字符toLowerCase。你可以使用replace(/[^\\w\\s]/gi, \'\')

\n\n

小提琴

\n\n
function isPalindrome(str){\n  var charArr = str.toLowerCase().replace(/[^\\w\\s]/gi, \'\').split(""); //toLowerCase --> remove special characters --> split the string\n\n  charArr.forEach( char => {\n    console.log(char);\n  })\n  console.log(charArr.length)\n}\n\nisPalindrome("\xc4\xb0ris");\n
Run Code Online (Sandbox Code Playgroud)\n