javascript中的字符串常用方法

 //  indexOf(str,index)-----查找一个指定字符串在字符串中的首次出现位置,没有返回-1,index为开始查找位置,0开始(原字符串不变)
    //  lastindexOf()----方法查找指定字符最后出现位置(原字符串不变)
    let str='asdfaf';
    str.indexOf('a');      // => 0      0是a的首次出现位置
    str.indexOf('k');      // => -1     没有返回-1
    str.lastIndexOf('a');  // => 4      4是a的最后一次出现位置
    str.lastIndexOf('k');  // => -1     没有返回-1
    
    
    // charAt(index)-----返回指定索引位置的字符,不存在则返回空字符串,而str[索引]不存在的时候则会返回undefined(原字符串不变)
    // charCodeAt(index)-------在charAt的基础上将获取的值变为unicode编码值(对应ASCII编码表)(原字符串不变)
    str.charAt(0);         // =>  a    返回指定索引位置字符
    str.charCodeAt(0);     // =>  97   返回指定索引位置字符的uniCode
    
    
    // toLowerCase----转化小写(原字符串不变,返回新字符串)
    // toUpperCase----转化大写(原字符串不变,返回新字符串)
    str.toLowerCase();     // =>  asdfaf
    str.toUpperCase();     // =>  ASDFAF
    
    
    //substr(n,m)          // => 从字符串n下标开始(包括n)截取m个长度的字符,原字符串不变,返回截取后的新字符串
    //substring(n,m)       // => 从字符串n下标开始截取到m下标位置(包含n不包含m),原字符串不变返回新字符串
    //slice(n,m)           // => 与substring一样,区别是支持负数索引
    //上面三个方法,如果不传参数,则是返回原字符串,如果传递的索引超出最大限制,则视为截取到末尾
    str.substr(1,2);       // => sd
    str.substring(1,2);    // => s
    str.slice(1,2);        // => s
    str.slice(-4,-1)       // => dfa
    
    
    //  split 将字符串按照指定分割符分割成数组,原字符串不变返回新字符串
    //  split('') => 以单字符进行拆分   ‘abc’.split('') => [a,b,c];
    let str1='a.b.c.d';
    str1.split('.');       // => [a,b,c,d]
    
    
    // trimLeft:去除字符串左边空格(原字符串不变,返回新字符串)
    // trimRight:去除字符串右边空格(原字符串不变,返回新字符串)
    // trim:去除字符串手尾空格(原字符串不变,返回新字符串)
    let str2='  aa ';
    str2.trim();           // => aa
    str2.trimLeft();       // => aa
    str2.trimRight();      // =>   aa
    
    
    //  match:  匹配一个字符串中匹配正则的部分组成的字符串(原字符串不变,返回符合部分组成数组)
    //  语法: string.match(正则表达式)  =>  匹配string中符合正则表达式的部分,返回一个所有匹配部分组成的数组
    //  如果正则不匹配则返回null,与正则的exec基本相同
    //  match后面括号中也可以放字符,字符串中如果有这个字符就会返回一个数组,没有这个字符则会返回null,所以也可以用来查找字符串中是否有某字符
    let str3='aa11bb22cc33'
    str3.match(/\d+/g)     // => ['11','22','33']
    
    
    // replace(a,b):实现字符的替换(将字符串中的第一个a字符替换成b字符),注意一次只能替换一个,所以它一般都配合着正则来使用,因为使用正则会一次替换掉所有的要替换的字符
    // replace方法的第二个参数还可以是一个回调函数,如果第二个参数是一个回调函数,那么会默认传入三个实参,第一个是匹配到的字符(如果正则中有分组捕获,那么则会
    // 将分组捕获捕获到的各项逐项当做参数传进函数中,全部传进去后在传起始匹配位置和原字符串),第二个是匹配到的字符在字符串中的,第三个是原字符串,每一次函数运
    // 行的return返回值会传入字符串匹配项中去替换掉匹配项,如果不返回则使用undefined进行匹配项替换,如果第一个参数是正则表达式,第二个参数字符串中可以通过$分组索
    // 引来引用前面分组中匹配的内容,$后面的分组索引如果是不存在的,像一共三个分组你整个$4,那这个$4就只能字符串$4(返回新字符串,原字符串不变)
    // 有些特殊字符串没有办法拆分分部分遍历的时候也可以使用replace来进行字符串部分遍历
    let str4='asdffdsa';
    str4.replace('a','1');  // => 1sdffdsa
    str4.replace(/a/g,'1'); // => 1sdffds1
    str4.replace(/a/g,(...ary)=>{
        return ary[0]+1;
    });                     // => a1sdffdsa1
    //使用replace遍历字符串匹配部分请见https://blog.youkuaiyun.com/qq_40959677/article/details/94761883中的拆分歌词部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值