在句点javascript后删除一个空格

时间:2015-07-07 17:56:59

标签: javascript regex palindrome

我正在尝试在Javascript中编写一个函数来删除句子中的所有空格和标点符号,然后检查它是否是回文。我已经完成了大部分工作,但是在运河时期之后它不会删除空间。我怎么能这样做?

function palindrome(str) {

     str = str.toLowerCase();
     str = str.replace(/\s+/g, '');
     str = str.replace(/,/g , "");
     str = str.split('.').join(' ');

    document.write(str);

    if(str.split("").reverse().join("") === str) {
        return true;
    }
    else {
        return false; 
    }
}

palindrome("A man, a plan, a canal. Panama");

3 个答案:

答案 0 :(得分:1)

我会使用一个替换空格,逗号和句号



function palindrome(str) {

     str = str.toLowerCase();
     str = str.replace(/[\s,\.]+/g, '');
    document.write(str);

    if(str.split("").reverse().join("") === str) {
        return true;
    }
    else {
        return false; 
    }
}

console.log(palindrome("A man, a plan, a canal. Panama"));




答案 1 :(得分:1)

检查方式:

function palindrome(str) {
    str = str.match(/[a-z]+/gi).join("").toLowerCase();
    document.body.innerHTML = str;
    return(str.split("").reverse().join("") === str);
}

palindrome("A man, a plan, a canal. Panama");

example

答案 2 :(得分:0)

使用regx可能有更好的方法,但你可以

class Job {
  function execute() {
    // The following code are in separate classes but listed here for easier to follow.
    $cache = new Memcached();
    $cache->addServer(...);

    $link = mysqli_init(...);
    mysqli_real_connect($link, ...);

    $res = $cache->get(...);
    if (!$res) {
      $res = mysqli_query($link, $sql);
    }
    // Process the result.
  }
}
$job = new Job();
$job->execute();
// Most of the time, it crashes after the last line (i.e. after invoking destructor/shutdown hook).