用一個正則表達式來計算一個字符串中有多少個英文字符
前段時間,在面試一個資深前端開發時,偶然想到了一道面試題:用一個正則表達式來計算一個字符串中有多少個英文字符。
首先把面試題簡化下
怎樣在一個字符串中找到指定的字符
str.search
var str='1a2b3c4d5ef';
str.search('a')
str.indexOf
var str=‘1a2b3c4d5ef’;
str.indexOf('a')
str.match
var str=‘1a2b3c4d5ef’;
str.match('a')
怎樣在一個字符串中找到指定字符的個數
for/while等循環
var str='1a2b3c4d5ef',
num=0;
for(var i=0;i<str.length;i++){
if(str.charAt(i)=='a'){
num+=1;
}
}
str.split
var str='1a2b3c4d5ef';
str.split('a').length-1
str.match
var str='1a2b3c4d5ef';
str.split('a').match(/a/ig).length
怎樣在一個字符串中找到英文字符(特定區間的條件)的個數
for/while等循環可以實現
str.split 同樣可以實現,str.match也可以實現,兩者基本沒有差別,都是依靠正則表達式的能力;
那么正則表達式要怎么寫呢?
其實很簡單,英文的區間是a-z,那么只要能選中每一個英文就好,正則是/[a-z]{1}/,選擇后,需要記錄,那么變成了/([a-z]{1})/,英文是區分大小寫的/([a-z]{1})/i,需要全局查找匹配,最終的正則:/([a-z]{1})/ig
來自:https://github.com/mishe/blog/issues/146
本文由用戶 nzmw4668 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!