javascript中字符串相关

字符串

1)什么是字符串:

字符串就是一组字符的集合,用引号包裹,把好多字符组合成一串

        字符串的创建方式

            字面量方式创建:

                1)用单引号创建:var str = 'hello'

                2)用双引号创建:var str = "hello"

                3) 用反引号(模板字符串)创建:var str = `hello`(等一会再说反引号和单引号双引号的区别)

            内置构造函数方式创建:

                语法:var str = new String('hello')

    var str1 = 'hello'
    var str2 = "hello"
    var str3 = `hello`
    console.log(str1);
    console.log(str2);
    console.log(str3);

2)反引号,双引号,单引号的区别

        区别一:单引号和双引号不支持换行

            反引号(模板字符串)是支持换行书写的

        区别二:单引号和双引号中间是不识别变量的,但是反引号中间可以识别变量

                识别变量的语法:${变量名}

    var name = '张三'
    var age = 18
    var height = 180
    // 请输出:大叫好,我叫?,今年?岁了,我的身高是?
    // 请输出:大叫好,我叫张三,今年18岁了,我的身高是180
    console.log('大叫好,我叫name,今年?岁了,我的身高是?');
    console.log("大叫好,我叫name,今年?岁了,我的身高是?");
    console.log("大叫好,我叫" + name + ",今年" + age + "岁了,我的身高是" + height);
    console.log(`大叫好,我叫${name},今年${age}岁了,我的身高是${height}`);

3)字符集

 计算机在做运算的时候其实是用二进制做运算的

        把数字转成二进制比较好转

        但是把一些字符(英文字母、标点符号、汉字、日语、韩语)转成二进制规则就不明确了,不知道该怎么转了,因为毕竟每个国家的语言都不一样,字长得也不一样,所以转换起来就很麻烦。

        为了解决这个问题,专门出了一个表,叫做ASCII表

        在这个表中有每个字符对应的编码

        常见的字符对应的编码

        a =========97  依次往后推

        A==========65  依次往后推

        字符0 ======48 依次往后推

        空格======32

        回车====13

4)字符串的基本操作

  1.legnth属性:表示字符串中字符的个数,有几个字符长度就是几,这是一个只读属性,也就是只能获取不能设置

            语法:字符串.length

  2.索引属性,字符串也是按照索引进行排列的,从左到右索引从0开始依次+1,也是一个只读属性

  3.遍历字符串,借助于for循环,因为字符串可以通过索引得到每一个字符

            遍历for循环   起始值:0   结束值:<字符串的长度    步长:一次+1

    var str = 'hello word,你 好'
    console.log(str.length);
    // 获取索引3对应的字符
    // console.log(str[3]);
    // console.log(str[6]);
    for (var i = 0; i < str.length; i++) {
        console.log(str[i]);
    }

5)字符串的常用方法

 通用语法:字符串.方法名()

        注意:字符串的所有方法都不会改变原始字符串

        1.charAt()

            语法:字符串.charAt(索引)

            返回值:找到该索引位置的字符,如果该索引不存在就返回空字符串,如果该索引存在就返回对应的字符即可

            他的意思和[索引]是一样的

            和[索引]的区别

                charAt()===该索引不存在,就返回空字符串

                [索引]====该索引不存在,就返回undefined

    var str = 'hello word ABCD 你好'
     //找到索引8对应的字符
    var res = str.charAt(8)
    没有80这个索引 结果就是空的字符串
    var res = str.charAt(80)
    console.log(res);
    var res1 = str[80]
    console.log(res1);

        2.charCodeAt()

            语法:字符串.charCodeAt(索引)

            返回值:该索引对应的字符的字符编码,该索引不存在,找不见的时候返回NaN

    //======2.charCodeAt()
    //找到2索引对应的字符,对应的是l,会拿到l对应的编码
    var res = str.charCodeAt(2)
    console.log(res);
    // 找到0索引对应的字符,对应的是h,会拿到h对应的编码
    var res1 = str.charCodeAt(0)
    console.log(res1);
    var res2 = str.charCodeAt(80)
    console.log(res2);

        3.toUpperCase()

            语法:字符串.toUpperCase()===不需要写参数

            返回值:将原始字符串中的所有字母全部转成大写

    // =======3.toUpperCase()
    var res = str.toUpperCase()
    console.log(res);
 

        4.toLowerCase()

            语法:字符串.toLowerCase()===不需要写参数

            返回值:将原始字符串中的所有字母全部转成小写

    // ========4.toLowerCase()
    var res1 = str.toLowerCase()
    console.log(res1);

       5.substr

        语法:字符串.substr(开始索引,个数)

        返回值:截取出来的一部分数据

        注意:不写第二个参数,就从开始位置截取到最后

    var str = 'hello word'
    //从索引2的位置开始,截取5个字符
    var res = str.substr(2, 5)
    console.log(res);

        6.substring()

        语法:字符串.substring(开始索引,结束索引)

        返回值:截取出来的一部分数据

        注意:包前不包后

        不支持负数

    var str = 'hello word'
    //从索引2的位置截取到索引7的位置
    var res = str.substring(1, -2)
    console.log(res);

        7.slice

        语法:字符串.slice(开始索引,结束索引)

         返回值:截取出来的一部分数据

         支持写负数

    var str = 'hello word'
    var res = str.slice(1, -2)
    console.log(res);

        8.split()

        语法:字符串.split('分隔符')

        作用:用分隔符拆分字符串

        返回值:一定是一个数组,将字符串按照分隔符分成几段数据存储到数组中

       var str = 'hello world'
       var res = str.split(" ")
       console.log(res);
       var res = str.split("o")
       console.log(res);

        9.concat()

        语法:字符串.concat('字符串1','字符串2'.....)

        作用:将字符串做拼接,作用和加号是一样的。

        返回值:拼接好的字符串

    var str = 'hello world'
    //    var res = str.concat('你好','我好')
    //    console.log(res);
    var res = str + '你好' + '我好'
    console.log(res);

     10.indexOf()====从左到右找

        语法:字符串.indexOf(你要查找的字符,从哪个索引开始查)

        返回值:如果该字符存在,返回的就是该字符对应的索引,不存在就是-1

       var str = 'hello weorld'
       //var res = str.indexOf('e')
       //console.log(res);
       var res = str.indexOf('e',2)
       console.log(res);

     11.lastIndexOf()====从右到左找

            和indexOf一样,就是反着找

    var res = str.lastIndexOf('e')
    console.log(res);

      12.includes()

        语法:字符串.includes('字符或者字符串')

        作用:在该字符串当中看是否有这个字符或者字符串

        返回值:如果有就是true,如果没有就是false

 var str = 'hello world'
 var res = str.includes('od')
 console.log(res);

      13.startsWith()

        语法:字符串.startsWith('字符或者字符串')

        作用:看该字符串是否以这个字符或者这个字符串开头

        返回值:是true,不是false

       

var res = str.startsWith('hd')
console.log(res);

        14.endsWith()

            语法同上

            作用:看该字符串是否以这个字符或者这个字符串结尾

            返回值:是true,不是false

    var res = str.endsWith('ldd')
    console.log(res);

       15.trim()

        语法:字符串.trim()

        作用:去除首尾空白

        返回值:去除首尾空白之后的字符串(中间的空白去不了)

var str = '       hello       world       '
   console.log(str);
   var res = str.trim()
   console.log(res);

        16.trimStart()或者trimLeft()

            去除开头的空白(去除左边的空白)

   var res1 = str.trimStart()
   console.log(res1);
   var res2 = str.trimLeft()
   console.log(res2);

        17.trimEnd()或者trimRight()

            去除尾部空白(去除右边的空白)

   var res3 = str.trimEnd()
   console.log(res3);
   var res4 = str.trimRight()
   console.log(res4);

        18.replace()

        语法:字符串.replace(你要替换的字符,新字符)

        作用:用一个新字符替换一些老字符

        返回值:替换好的新字符串

        注意点:只能替换一个片段 

   var str = 'hello world'
   var res = str.replace('ld','哈哈')
   console.log(res);
   var res = str.replace('o','哈哈')
   console.log(res);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值