JS之字符串相关

字符串概述

  • 定义: 多个字符组成的只读字符数组
  • 只要数组中不直接修改原数组的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
      • 返回值为匹配到的关键字组成的数组
  • 替换: str = str.replace(exp,”替换值”);
    • 替换一般都要加g, 即全局匹配
    • 返回值为替换后的新串

格式化字符串操作步骤

  1. 利用正则表达式将原字符分组匹配
  2. 将正则表达式传入repalce中, 使用替换值格式化字符串
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章