javascript-字符串的方法

字符串的方法

  • chatAt(index):
    返回指定字符串中指定索引的字符;若index超出字符串长度,则返回空字符串

    var str = "abc";
    console.log(str.charAt(2));  //c
    

    字符串中索引为2的是字符c,所以返回c

    var str = "abc";
    console.log(str.charAt(3));  //""
    

    字符串最大有效索引值为2,所以返回空字符串

  • indexOf(str[,stratIndex)):
    返回指定字符或字符串的第一次出现的位置,若指定第二个参数,则会从指定开始索引值处开始匹配指定字符或字符串,若无匹配字符或字符串则返回-1

        var str = "abc";
        console.log(str.indexOf("a")); //返回0
    
        var str = "abc";
        console.log(str.indexOf("a",1)); //返回-1
    
        var str = "abc def ";
        console.log(str.indexOf("def",2)); //返回4
    
  • split(sign):
    根据sign来分割字符串,并将这些分割的每一个子字符串放入一个数组,返回该数组;

    var str = "a+b+c+d+e";
        console.log(str.split("+"));//返回["a", "b", "c", "d", "e"]
    
  • slice(startIndex,endIndex),substring(startIndex,endIndex),substr(startIndex,length);

    这三个函数的共同点是都是截取字符串,并返回一个新的字符串;

    当这三个函数传递一个参数时,他们的功能是一样的,都是截取字符串从指定的开始位置到字符串的最后一位

    var str = "javascript is fun";
    console.log(str.slice(2)); //"vascript is fun";
    console.log(str.substring(2)); //"vascript is fun";
    console.log(str.substr(2)); //"vascript is fun"
    

    当传入两个参数时,slice()和substring()的返回值相同,substr()不同,因为substr()第二个参数时截取字符串的长度,而不是字符串的索引位置;

    var str = "javascript is fun";
    console.log(str.slice(2,5)); //"vas";
    console.log(str.substring(2,5)); //"vas";
    console.log(str.substr(2,5)); //"vascr"
    
  • toUpperCase(),toLowerCase()
    将字符串转换成大写、小写

       var str = "abcde";
       var str1 = "ABCDE";
       console.log(str.toUpperCase()); //"ABCDE"
       console.log(str1.toLowerCase()); //"abede"
    
  • search(),replace(),match()
    这三个方法通常要配合正则表达式使用

    • search(reg)

      根据正则表达式找到第一个出现的匹配项,并返回该匹配的项的索引值;
      若没有匹配项,则返回-1
      注:无论正则表达式是否设置了全局搜索,该方法也只会返回第一个出现匹配项的索引值

      var reg = /javascript/g;
      var str = "Hello World! I love javascript!javascript is fun";
      console.log(str.search(reg)); //20
      
    • replace(reg,替换匹配项的字符串)

      根据正式表达式找到字符串中的匹配项,然后用指定的字符串替换这些匹配项,返回新的字符串;若没有匹配项,则返回原字符串
      注:若正则表达式没有设置全局匹配,则只会替换第一个出现的匹配项

      var reg = /javascript/g;
      var str = "Hello World! I love javascript!javascript is fun";
      console.log(str.replace(reg,"java")); //"Hello World! I love java!java is fun"
      
    • match(reg):

      该方法根据正则表达式在字符串中搜索匹配项,将符合的匹配项存入一个新数组,返回该数组;若没有匹配项,则返回一个空数组
      注:若正则表达式没有设置全局匹配,则只会返回含第一个匹配项的数组,或空数组;

      var reg = /javascript/g;
      var str = "Hello World! I love javascript!javascript is fun";
          console.log(str.match(reg,"java")); //["javascript", "javascript"]
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值