字符串概述
- 定義: 多個字符組成的只讀字符數組
- 只要數組中不直接修改原數組的API, 字符串都能用
- str[i] 獲得字符串中下標爲i的字符
- str.length 獲得字符個數
- str.slice(starti[,endi+1]) 獲得子字符串
字符串API
- 注意: 所有API無法修改原字符串, 都是返回新字符串
- 大小寫轉換API
- var newStr = str.toUpperCase; //所有字母轉大寫
- var newStr = str.toLowerCase; //所有字母轉小寫
- 何時使用: 凡是不區分大小寫字母的, 比如郵箱、用戶名等
- 獲取指定位置字符API
- var char = str.charAt(i) //同str[i]
- var unicode = str.charCodeAt(i) //獲得i位置字符的unicode碼
- 檢索關鍵字API
- var i = str.indexOf(“關鍵字”[,fromi]); //從左向右獲得下一個匹配到的關鍵字的位置, 默認從最左開始檢索, 檢索包含fromi位置字符
- var i = str.lastIndexOf(“關鍵字”[,fromi]); //從右向左獲得下一個匹配到的關鍵字的位置, 默認從最右開始檢索, 檢索包含fromi位置字符
- 獲取子字符串API
- var subStr = str.slice(starti[,endi+1]); //支持負數參數
- var subStr = str.substring(starti[,endi+1]); //不支持負數參數, 可用length-n代替
- var subStr = str.subStr(starti,n); //從開始位置截取n個字符, 含頭
支持正則的字符串API
- 分割字符串API
- var strs = str.split(“分隔符/exp”);
- 何時使用:
- 希望將字符串按照規律分割爲數組時
- 分段處理字符串時, 需要先切割, 再遍歷
- 查找
- 判斷有無: var i = str.search(exp);
- 只找第一個匹配到的,找到則返回關鍵字位置, 如果沒找到, 返回-1
- 無法修改開始查找的位置
- 無法繼續查找之後的所有關鍵詞
- 獲得所有關鍵字的內容和個數: reg結尾+g
- var kwords = str.match(exp)
- 如果exp結尾+g, 表示查找全部匹配關鍵詞, 否則, 默認僅查找第一個匹配到的關鍵詞
- 如果沒找到, 返回null
- 正則默認區分大小寫, 若要忽略大小寫, exp結尾+i
- 返回值爲匹配到的關鍵字組成的數組
- 判斷有無: var i = str.search(exp);
- 替換: str = str.replace(exp,”替換值”);
- 替換一般都要加g, 即全局匹配
- 返回值爲替換後的新串
格式化字符串操作步驟
- 利用正則表達式將原字符分組匹配
- 將正則表達式傳入repalce中, 使用替換值格式化字符串