利用正则表达式判断一个给定的字符是否是回文
程序员文章站
2022-07-03 20:07:05
如果给定的字符串是回文,返回true,反之,返回false。
如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回...
如果给定的字符串是回文,返回true,反之,返回false。
如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。
注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。
函数参数的值可以为"racecar","racecar"和"race car"。
关键代码:
去掉字符串中的标点符号和空白格。可以用str.replace()+正则表达式匹配。
var newstr = str.replace(/[\ |\~|`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?]/g,"");
完整代码如下:
function palindrome(str) { // good luck! var newstr = str.replace(/[\ |\~|`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?]/g,""); var newnewstr = newstr.tolowercase();//转换成小写 var spl = newnewstr.split("");//分割字符串为数组 var newspl = spl.reverse();//翻转 var newrel = newspl.join("");//再次转成字符串 if (newnewstr == newrel) {//比较 return true; } else return false; } palindrome("eye");
以上所述是小编给大家介绍的利用正则表达式判断一个给定的字符是否是回文,希望对大家有所帮助
上一篇: 大刀腰片涮几秒?
推荐阅读
-
PHP判断一个字符串是否是回文字符串的方法
-
JS使用栈判断给定字符串是否是回文算法示例
-
asp.net中利用正则表达式判断一个字符串是否为数字的代码
-
已知一个字符串都是由左括号(和右括号)组成,判断该字符串是否是有效的括号组合。
-
java多线程定时器和java判断一个时间是否在时间区间内和用正则表达式获取String字符串之间的数据
-
leecode-1 给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 3 的幂次方需满足:存在整数 x 使得 n =3x
-
利用正则表达式判断一个给定的字符是否是回文
-
python实现判断一个字符串是否是合法IP地址的示例
-
字符串中找出连续最长的数字串:读入一个字符串str,输出字符串str中的连续最长的数字串;合法括号的判断:给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)
-
python判断给定的字符串是否是有效日期的方法