zoukankan      html  css  js  c++  java
  • 字符串的正则方法

    字符串对象共有 4 个方法,可以使用正则表达式:match()replace()search()split()

    ES6 将这 4 个方法,在语言内部全部调用RegExp的实例方法,从而做到所有与正则相关的方法,全都定义在RegExp对象上。

    • String.prototype.match 调用 RegExp.prototype[Symbol.match]
    • String.prototype.replace 调用 RegExp.prototype[Symbol.replace]
    • String.prototype.search 调用 RegExp.prototype[Symbol.search]
    • String.prototype.split 调用 RegExp.prototype[Symbol.split]

    split();
    // - 可以将一个字符串,拆分为一个数组
    // - 方法中可以传递一个字符串作为参数,这个方法将会根据正则表达式来拆分字符串
    // -这个方法即使不指定全局匹配,也会全部拆分
    var str = "1a2b3c4d";
    var result = str.split(/[A-z]/);
    console.log(result);

    search()

    //-和indexOf()有着异曲同工之妙
    // -可以搜索字符串中是否含有指定的内容
    // -如果搜索到指定内容,则会返回第次出现的索引,如果没有搜索到返回-1;
    // -它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
    // -search()只会查找第一个,即使设置全局匹配也没用
    var str = "hello abc hello aec";
    //搜索一个字符串中是否含有abc或aec或afc
    var result = str.search(/a/);

    console.log(result);
    var result = str.indexOf('aec');
    console.log(result);

    match()
    // -可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
    // -默认情况下我们的match只会找到第一个符和要求的内容,找到以后就停止检索
    // -我们可以设置正则表达式为全局匹配模式,这样就可以匹配到所有内容
    // -可以为一个正则表达式设置多个匹配模式,且顺序无所谓
    // -match()会将匹配到的内容封装到一个数组中返回,即使查询到一个,也是数组
    var str = "1a2b3c4d5e";
    var result = str.match(/[A-z]/g);
    // var result = str.match(/[a-z]/ig);
    console.log(result);
    // console.log(Array.isArray(result)); 判断结果是否为数组

    replace()
    // -可以将字符串中指定的内容替换为新的内容
    // -参数
    // 1.被替换的内容,可以接受正则表达式作为参数
    // 2.新的内容
    var str = "1a2b3c4d5e";
    // var result = str.replace("a","@-@");
    var result = str.replace(/[a-z]/ig,""); //将字母删掉
    console.log(result);

  • 相关阅读:
    python配置apache的web服务器方法(python的CGI配置)
    【转】移动web资源整理
    CSS实现背景透明,文字不透明,兼容所有浏览器
    html5 css3 如何绘制扇形任意角度
    Chrome 将默认不播放非重要 Flash 内容
    微信video标签全屏无法退出bug
    百度bae定时任务使用方法
    判断浏览器是否支持某个css3属性的javascript方法
    javascript检测是否安装了flash
    移动前端不得不了解的html5 head 头标签
  • 原文地址:https://www.cnblogs.com/Godfather-twq/p/14239727.html
Copyright © 2011-2022 走看看