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

    1.charAt 返回指定索引出的字符
        var str='abcd';
     var a=str.charAt(0);
     console.log(a); //'a'
        console.log(str); //'abcd'
    2.charCodeAt 返回指定索引出的unicode字符

     str.charCodeAt(0);   //97

    3.indexof  判断一个字符第一次出现在某个字符串的索引,如果包含返回它的索引,如果不包含返回-1.

     str.indexOf('a');     //0
      str.indexOf('e');     //-1

    4.lastIndexOf 判断一个字符最后一次出现在某个字符串的索引,如果包含返回它的索引,如果不包含返回-1.

     str.lastIndexOf('b');   //1
         str.lastIndexOf('e');   //-1
    5.concat拼接2个字符串,返回一个新字符串,对原有字符串没有任何改变。

        var str='qwe';
        var str1='abc';
        var str2=str.concat(str1);

        console.log(str2);//"qweabc"

    6.substr(n,m) 从索引n开始,截取m个字符,将截取的字符返回,对原字符串没有任何改变。
      var b=s.substr(1,1)
           console.log(b);  //'w'

    7.substring(n,m)   从索引n开始,截取到索引m,不包括m.将截取的字符返回,对原字符串没有任何改变.

      var ee=str.substring(1,3);
      console.log(ee);  //"bc"

    8.slice(n,m)   从索引n开始,截取到索引m,不包括m.将截取的字符返回,对原字符串没有任何改变.
     var aa=str.slice(0,3);
      console.log(aa);//'abc'

    9.split  用指定字符分割字符串,返回一个数组.对原字符串没有任何改变。

      var a=str.split('');
          console.log(a);  //["a", "b", "c", "d"]

    10.replace('a',1);  替换指定字符,返回替换后新的字符串,对原有字符串有改变。(第一个参数可以是正则表达式) 只能替换一次 ,配合正则模式修饰符g使用
      var str='aaaaee';
      var reg=/a/g;
      str.replace(reg,1);   //"1111ee"
    11.match() 可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。把找到的字符放在数组里,返回一个数组。

      var str='aaaa3ed33';
      var reg=/a/g;
      str.match(reg);  //["a", "a", "a", "a"]

    12.search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。

    es6新增加的方法

    1.codePointAt()  能够正确处理4个字节储存的字符,返回指定索引出一个字符的码点。codePointAt方法是测试一个字符由两个字节还是由四个字节组成的最简单方法。

     var s = '?a';

     s.codePointAt(0) // 134071

     s.codePointAt(1) // 57271

    codePointAt方法返回的是码点的十进制值,如果想要十六进制的值,可以使用toString方法转换一下。

    var s = '?a';
    s.codePointAt(0).toString(16) // "20bb7"
    s.codePointAt(2).toString(16) // "61"不能识别32位的UTF-16字符
    配合for...of循环使用,因为它会正确识别32位的UTF-16字符。

    var s = '?a';
    for (let ch of s) {
      console.log(ch.codePointAt(0).toString(16));
    }
    // 20bb7
    // 61
     

    2.codePointAt用于从码点返回对应字符,但是这个方法不能识别32位的UTF-16字符(Unicode编号大于0xFFFF)。

    String.fromCodePoint(0x20BB7)
    // "?"
    String.fromCodePoint(0x78, 0x1f680, 0x79) === 'xuD83DuDE80y'
    // true


    3.for..of  字符串的遍历器接口
    for (let codePoint of 'foo') {
      console.log(codePoint)
    }
    // "f"
    // "o"
    // "o"
    4.at()  返回指定索引处的字符

    'abc'.at(0) // "a"
    '?'.at(0) // "?"
     
    5.includes():返回布尔值,表示是否找到了参数字符串。这三个方法都支持第二个参数,表示开始搜索的位置。

    6.startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。这三个方法都支持第二个参数,表示开始搜索的位置。

    7.endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。这三个方法都支持第二个参数,表示开始搜索的位置。

    var s = 'Hello world!';

    s.startsWith('world', 6) // true
    s.endsWith('Hello', 5) // true
    s.includes('Hello', 6) // false
     

    8.repeat()  方法返回一个新字符串,表示将原字符串重复n次。

    'x'.repeat(3) // "xxx"
    'hello'.repeat(2) // "hellohello"
    'na'.repeat(0) // ""
     
     

    9.padStart(),padEnd()字符串补全长度的功能
       padStart()用于头部补全

       padEnd()用于尾部补全

    padStart和padEnd一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。

    'x'.padStart(5, 'ab') // 'ababx'
    'x'.padStart(4, 'ab') // 'abax'

    'x'.padEnd(5, 'ab') // 'xabab'
    'x'.padEnd(4, 'ab') // 'xaba'
    如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。

    'xxx'.padStart(2, 'ab') // 'xxx'
    'xxx'.padEnd(2, 'ab') // 'xxx'
    如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超出位数的补全字符串。

    'abc'.padStart(10, '0123456789')
    如果省略第二个参数,默认使用空格补全长度。

    'x'.padStart(4) // '   x'
    'x'.padEnd(4) // 'x   '

  • 相关阅读:
    分布式服务框架 Zookeeper — 管理分布式环境中的数据
    分布式消息队列(二)
    分布式消息队列(一)
    数据库事务的四大特性以及事务的隔离级别
    php--yii2.0的安装
    php--字符串函数分类总结
    一张表有三个字段:id(城市id) Cityname(城市名) Privence(所属省份)如果要统计每个省份有多少城市请用SQL实现。
    TP自带的缓存机制
    php——n维数组的遍历——递归
    php--分享插件
  • 原文地址:https://www.cnblogs.com/fs0196/p/12684314.html
Copyright © 2011-2022 走看看