js基础--字符串06

118 阅读2分钟

字符串方法

charAt(索引)

  • 作用:获取指定索引的字符串
  • 索引超出为""
  • str[索引]也可以得到,但超出后为undefined
  • 返回值:索引对应的字符
var str="abc";
console.log(str.charAt(0));//"a"
console.log(str[0]);//"a"
console.log(str.charAt(100));//""
console.log(str[100]);//undefined

charCodeAt(索引)

var str="abc";
console.log(str.charCodeAt(1));//"98"

indexOf("值")

  • 作用:查找值第一次出现的索引
  • 返回值:第一次出现的索引

lastIndexOf(值)

  • 作用:查找最后出现的索引
  • 返回值:最后出现的索引

slice(n,m)

  • 作用:复制
  • 从索引n开始,到索引m结束,不包含m
  • mn也可以为负数,当为-3,-1时就是从倒数第三个到倒数第一个,但不包含倒数第一个

substring(n,m)

  • 作用:复制,跟slice一样,只是它不能负数
var str="abc";
console.log(str.substring(-2,-1));//为负数没效果

substr(n,m)

  • 截取
  • 从索引n开始,截取m个
//substr(n,m)  从索引n开始,截取m个
var str="abc";
console.log(str.substr(0,2));//"ab"
console.log(str);//"abc"

toUpperCase()

  • 作用:转换为大写
  • 参数:无
  • 返回值:大写的字符串

toLowerCase()

  • 作用:转换为小写
  • 参数:无
  • 返回值:小写的字符串

replace(n,m)

  • 替换
  • n为被替换字符,m为替换字符
    • n可以放正则
  • 不改变原字符串
  • 返回值为替换好的字符串
//replace(n,m) 替换 n为被替换的字符 m时替换的字符
var str="abc";
console.log(str.replace("a","b"));//"bbc"
console.log(str);//"abc"

split("分隔符")

  • 把字符串用分割符隔开,变成数组
//split("分隔符")  把字符串按照指定的分隔符分割成数组
var str="1:2:3"
console.log(str.split(":"));//["1","2","3"]

例题:拼接

// 【时间字符串处理】把下面的字符串变成 "2019年08月18日 12时32分18秒"
var str = "2019-8-18 12:32:18";
var res = str.split(" ");
console.log(res);
var leftAry = res[0].split("-");
console.log(leftAry);
var rightAry = res[1].split(":");
console.log(rightAry);

function zero(num) {
    if (num < 10) {
        return "0" + num
    }
    return num;

}
console.log(zero(leftAry[0])+"年"+zero(leftAry[1])+"月"+zero(leftAry[2])+"日"+""+zero(rightAry[0])+"时"+zero(rightAry[1])+"分"+zero(rightAry[2])+"秒")
 /* 
        var  str ="https://www.baidu.com?name=zhufeng&age=10&id=14";
        {
            name:"zhufeng",
            age:10,
            id:14
        }
       */
      var  str ="https://www.baidu.com?name=zhufeng&age=10&id=14";
      var res=str.split("?")[1].split("&").join("=").split("=");
      console.log(res);
      var obj={};
      for(var i=0;i<res.length;i++){
        if(i%2==0){
            obj[res[i]]=res[i+1];
        }
      }
     console.log(obj)

截取字符串的三种方法,以及区别

  1. slice(n,m) 复制索引n开始到索引m但不包括索引m
  2. substring(n,m) 与slice一样,但不能用负数
  3. substr(n,m) 从索引n开始截取m个