美文网首页
JS 中字符串常用的方法

JS 中字符串常用的方法

作者: 苏码码 | 来源:发表于2020-02-08 15:04 被阅读0次

    字符串中常用的方法
    所有用单引号、双引号、反引号包起来的都是字符串
    每一个字符串都是由0到N个字符组成

    let str = 'xinxingguanzhuangbingduquuozaijiaziwogeli'
    console.log(str.length)// => 字符串长度
    console.log(str[0]) // => 获取索引为0的字符
    // 循环输出字符串中的每一个字符
    for (let i = 0; i < str.length; i++) {
        let char = str[i];
        // console.log(char)
    }
    // 1. charAt / charCodeAt
    /*
      charAt: 根据索引获取指定位置的字符
      charCodeAt:获取指定字符的ASCII码值(Unicode)
      @params n[number] 获取字符指定的索引
      @return 返回查找到的字符 找不到返回的是空字符串 不是undefined ,或者对应的编码值
    */
    console.log(str.charAt(0)) // => x
    console.log(str[0]) // => x
    console.log(str.charAt(1000)) // => '' 空字符串
    console.log(str[1000]) // => undefined
    console.log(str.charCodeAt(0)) // => 120
    console.log(String.fromCharCode(120)) // => x
    
    // 2.substr/ subsring
    /*
      substr: 实现字符串的截取
      substr(n,m): 从索引n开始截取m个字符,m不写截取到末尾
      substring(n,m):  从索引n开始截取到索引m(不含m),m不写截取到末尾
      slice(n,m):和substring一样,都是找到索引为m处
      但是slice支持负数为索引,其余两个不可以
    */
    console.log(str.substr(2,6)) // => nxingg
    console.log(str.substring(2,6)) // => nxin
    console.log(str.substr(3)) // => xingguanzhuangbingduquanguozaijiaziwogeli
    console.log(str.substring(3,100)) // => xingguanzhuangbingduquanguozaijiaziwogeli
    
    console.log(str.substring(3,7)) // => xing
    console.log(str.slice(3,7)) // => xing
    console.log(str.substring(-7,-3)) // => '' 不支持负数索引
    console.log(str.slice(-7,-3)) // => iwog  支持负数索引 快捷查找:负数索引,我们可以按照str.length+负索引的方式查找 => slice(41-7,41-3)
    
    // 3.验证字符串是否存在 indexOf / lastIndexOf / includes
    /*
      indexOf(m,n): 获取m第一次出现的位置的索引,n是控制查找位置的起始索引
      lastIndexOf(m): 获取m最后一次出现位置的索引
      没有该字符,返回-1
      includes(m): 返回true/false
    */
    console.log(str.indexOf('i')) // => 1
    console.log(str.lastIndexOf('i')) // => 40
    console.log(str.indexOf('#')) // => -1
    console.log(str.indexOf('guan')) // => 7 验证整体第一次出现的位置索引,返回的第一个字符所在的位置索引
    console.log(str.includes('a')) // => true
    // 模糊查询
    var arr = ['blue','red','yellow','white','black','cycn','color']
    var input = 'o'
    var arr1 = arr.filter(function(item) {
      return item.includes(input)
    })
    console.log(arr1)   //   ["yellow", "color"]
    
    // 4.大小写转换
    // toUpperCase / toLowerCase
    /*
      toUpperCase(): 转大写
      toLowerCase(): 转小写
    */
    console.log(str.toUpperCase()) // => XINXINGGUANZHUANGBINGDUQUUOZAIJIAZIWOGELI
    console.log(str.toLowerCase()) // => xinxingguanzhuangbingduquuozaijiaziwogeli
    
    // 5.split([分隔符]):把字符串按照指定的分隔符拆分成数组(和数组中的join相对应)
    // replace(老字符,新字符) :实现字符串的替换(结合正则来使用)
    let str1 = 'red/blue/green/white'
    str1 = str1.split('/').toString() // join()也可以
    console.log(str1) // => red,blue,green,white
    
    console.log(str1.replace(/,/g,'#')) //使用正则可以全局替换, 不使用只替换掉第一个出现的字符
    

    字符串其他方法
    match localCompare trim trimLeft trimRight ...

    控制台输出String.prototype 查看所有字符串中提供的方法

        //charAt();             返回指定索引位置的字符  
        //indexOf();           返回字符串中检索指定字符第一次出现的位置 
        //lastIndexOf();    返回字符串中检索指定字符最后一次出现的位置  
        //slice()                   提取字符串的片断,并在新的字符串中返回被提取的部分      
        //split()                   把字符串分割为子字符串数组  
        //toLowerCase()   把字符串转换为小写
        //toUpperCase()   把字符串转换为大写    
        //substr()                从起始索引号提取字符串中指定数目的字符
        //substring()           提取字符串中两个指定的索引号之间的字符
    
        //ES6
        //includes():       返回布尔值,表示是否找到了参数字符串。
        //startsWith():   返回布尔值,表示参数字符串是否在原字符串的头部。
        //endsWith():     返回布尔值,表示参数字符串是否在原字符串的尾部
        //repeat():           返回一个新字符串,表示将原字符串重复n次。
        //padStart():       用于头部补全
        //padEnd():         用于尾部补全。
    

    相关文章

      网友评论

          本文标题:JS 中字符串常用的方法

          本文链接:https://www.haomeiwen.com/subject/wfeixhtx.html