IT新手入门,零基础学IT,转行做IT,IT行业的职位选择,你我一同探讨!

IT新手入门网给你介绍IT行业的职位有哪些,让你转行做IT不发愁,IT入门有捷径

当前位置: 主页 > 技能提升 > HTML5/前端互联网工程师 > string 用法及Math、Date的介绍(十八)

string 用法及Math、Date的介绍(十八)

时间:2017-01-26 09:05来源:原创 作者:恪己 点击:
一、String: 所有String API无权修改原字符串,只能返回新字符串 替换: str=str.replace(/正则/g,替换值) 如果替换所有,就必须加g 如果英文环境下,忽略大小写,就必须加i 高级替换: 根据关键
 一、String:
所有String API无权修改原字符串,只能返回新字符串
替换: str=str.replace(/正则/g,"替换值")
      如果替换所有,就必须加g
      如果英文环境下,忽略大小写,就必须加i
  高级替换: 根据关键词的不同,动态替换不同的新值
      str=str.replace(/正则/g,function(kw){
//kw获得本次找到的完整关键词
        return 根据kw的不同,返回不同的值
      })
  练习: 如果需要对关键词部分处理或分组处理: 2步:
     1. 先用(),将正则分组
       匹配时,每个(),会自动获得一个分组编号:1,2,3...
     2. 在替换时,使用$1,$2,代替每个分组本次匹配的子内容
      str=str.replace(/正则/g,function(kw,$1,$2,...){
//kw获得本次找到的完整关键词
        //$n获得本次找到的关键词中第n个分组的子内容
        return 返回不同的值
      });
  衍生:
    删除: 替换成空字符串
    格式化: 2步:
      1. 用正则将字符串分组
      2. 在替换值中使用$n重新拼接新格式
      birth.replace(
/(\d{4})(\d{2})(\d{2})/,"$1年$2月$3日");
切割: 按指定分隔符,将字符串切割为多段子字符串
  简单切割: 分隔符是固定: var subs=str.split("分隔符")
      固定套路:
将字符串打散成字符数组:var chars=str.split("");
  复杂切割: 分隔符不是固定: var subs=str.split(/正则/)
二、RegExp对象:
 什么是: 封装一条正则表达式,提供了使用正则执行查找和验证的API
 何时: 只要使用正则表达式,都要先创建正则表达式对象
 创建: 2种:
   1. 直接量: var reg=/正则表达式/ig;
     如果正则表达式一旦定义不再改变
     字符冲突: 正则表达式中的/,都要转义为\/
   2. 用new: var reg=new RegExp("正则表达式","ig");
     如果正则表达式本身都需要动态生成
     字符冲突: 正则表达式中的\和'"都要转义
       比如: "\\d \\s \\w \" \'"
 API:
   1. 高级查找: 即查找每个关键词内容,又查找位置
      var arr=reg.exec(str);
       在str中查找下一个符合reg规则的关键词的内容和位置
      固定套路: 查找每个关键词的内容和位置
        var arr=null;
        while((arr=reg.exec(str))!=null){
          arr: ["关键词",$1,$2,... index:位置]
                   0
        }
      原理: reg对象中有一个lastIndex=0属性,规定了exec下次开始查找的位置——不用手动维护
      exec每执行一次,做三件事:
         (1).将关键词内容,放入数组第0个元素
         (2).将关键词位置,放入数组的index属性
         (3).自动将reg的lastIndex+关键词的长度
              导致下次自动跳过关键词,找下一个
      强调: 也是一个一个找,每找一个新的,都会替换数组中旧的关键词。
      简写: 如果只获得分组子内容,不需要完整关键词
RegExp.$n -> 可获得本次查找到的第n个分组的子内容
        while(reg.exec(str)!=null){
          RegExp.$n
        }

     

------分隔线----------------------------
栏目列表
推荐内容