为了账号安全,请及时绑定邮箱和手机立即绑定

回文如何判断

回文如何判断

小仙_25 2016-07-09 23:41:01
要求:如果给定的字符串是回文,返回true,反之,返回false。如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。函数参数的值可以为"racecar","RaceCar"和"race CAR"。代码:function palindrome(str) {  // Good luck!  return true;}palindrome("eye");提问:怎么考虑?如何用正则表达式来去除这道题的空格和多余的标点符号?能否提供代码参考。
查看完整描述

1 回答

?
慕数据4273623

TA贡献1条经验 获得超1个赞

function palindrome(str) {
    var arr = str.match(/\w/g);
    return arr.join('').toLowerCase() === arr.reverse().join('').toLowerCase();
}
  1. 正则匹配所有符合的字符组成数组

  2. 利用数组的reverse方法颠倒

  3. 两个数组转组成字符串并且转成小写进行比较

希望能够帮到你^_^

查看完整回答
1 反对 回复 2016-07-10
  • 与人斗其乐无穷
    与人斗其乐无穷
    如果是palindrome("0_0 (: /-\ :) 0-0") 按你写的正则来看,获取:0_000 就是返回 false ,这题目还是过不了。按楼主的题目,去掉所有标点符号和空格,这串字符串应该是 0000 应该返回 true 才是。我新人,不知道说的对不对。
  • 蜡笔小狗
    蜡笔小狗
    你说的没错,应该先把下划线去掉
  • 冰封灬尘世
    冰封灬尘世
    怎么去啊
  • 1 回答
  • 0 关注
  • 2439 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信