【发布时间】:2015-06-27 16:34:14
【问题描述】:
此任务的要求是代码为输入字符串返回“真”或“假”。字符串可以是简单的单词或短语。另一个问题没有解决这些需求。请重新打开并在这里回答。我正在研究一个函数来检查给定的字符串是否是回文。我的代码似乎适用于简单的单字回文,但不适用于具有大写字母或空格的回文。
function palindrome(str)
{
var palin = str.split("").reverse().join("");
if (palin === str){
return true;
} else {
return false;
}
}
palindrome("eye");//Succeeds
palindrome("Race car");//Fails
【问题讨论】:
-
该问题是询问如何生成回文,而不是根据上述标准检查两个字符串是否为回文。如果我们可以重新打开它,我会将其发布为答案:
function isPalindrome(str) { str = str.replace(/\s/g, '').toLowerCase(); return str === str.split('').reverse().join(''); } -
@AlexanderO'Mara 你在这里是正确的。我需要帮助了解如何在 javascript 中使用正则表达式并在此处使用它们来删除空格和任何标点符号以及任何大写字母。我希望他们能重新提出这个问题,因为另一个问题肯定是不同的。
-
@jfriend00 你能重新打开这个吗?不是重复的
-
为了处理标点符号,您只能保留类似工作的字符。
function isPalindrome(str) { str = str.replace(/\W/g, '').toLowerCase(); return str === str.split('').reverse().join(''); } -
好的,完美。非常感谢@AlexanderO'Mara!两个简单的问题:1) '/' 是否开始和结束正则表达式? 2) '\W' 是否会一次性处理空格和标点符号,因为它们都是非工作字符?
标签: javascript arrays