驗證迴文字符串
給定一個字符串,驗證它是不是迴文串,只考慮字母和數字字符,能夠忽略字母的大小寫。正則表達式
說明:本題中,咱們將空字符串定義爲有效的迴文串。segmentfault
示例 1:code
輸入: "A man, a plan, a canal: Panama" 輸出: true
示例 2:ip
輸入: "race a car" 輸出: false
用正則表達式刪除非數字和非字母的字符,而後首尾比較。
方法一:字符串
str.replace(/\W*|\D*/g,"") \W 不是字母 \D 不是數字 * 表示任意個字符(包括0個) | 表示或 g 全局匹配 replace() 方法用於在字符串中用一些字符替換另外一些字符,或替換一個與正則表達式匹配的子串 /\W*|\D*/g 不是字母或者不是字符的任意個字符
方法二:get
var str_1 = str.replace(/[^0-9a-z]/g,""); [^0-9a-z] 查找任何不在方括號之間的字符。
/** * @param {string} s * @return {boolean} */ var isPalindrome = function(s) { let str = s.toLowerCase(); // toLowerCase轉爲小寫,toUpperCase轉爲大寫 var str_1 = str.replace(/\W*|\D*/g,""); for(let i = 0; i < str_1.length / 2; i++){ if(str_1[i] != str_1[str_1.length - i - 1]){ return false; } } return true; };