• 《JavaScript-The Definitive Guide》读书笔记:字符串常用方法


    concat()

    连接多个字符串,返回合并后的字符串。

    1 var s1="a";
    2 var s2="b";
    3 var s3="c";
    4 
    5 console.log(s1.concat(s2,s3));//abc

    concat() 方法的结果等同于:result = s1 + s2 + ... + sN。如果有不是字符串的参数,则它们在连接之前将首先被转换为字符串。

    数组中的concat():将参数添加为数组的元素,返回新的数组。

    1 var arr = [1, 2, 3];
    2 console.log(arr.concat(4, 5));//[1,2,3,4,5]

    indexOf()

    查找子串第一次出现的索引。

    1 var s="abcd";
    2 console.log(s.indexOf("b"));//1

    若没有匹配项,返回 -1。

    1 var s="abcd";
    2 console.log(s.indexOf("e"));//-1

    可以传入第二个参数:fromIndex,表示从索引位置fromIndex开始查找,默认从起始索引0开始查找;若fromIndex为负,则从索引0开始查找。

    1 var s = "aba";
    2 console.log(s.indexOf("a", 0));//0
    3 console.log(s.indexOf("a", 1));//2
    4 console.log(s.indexOf("a", -1));//0

    该方法对大小写敏感。

    1 var s="Aba";
    2 console.log(s.indexOf("a"));//2

    lastIndexOf()

    类似 indexOf() ,但从右往左查找。

    1 var s = "aba";
    2 console.log(s.lastIndexOf("a"));//2

    也可指定起始索引,默认从最大索引开始查找。

    1 var s = "aba";
    2 console.log(s.lastIndexOf("a",1));//0

    charAt()

    返回指定索引位置的字符(因为Javascript中没有字符类型,所以返回的是长度为1的字符串)。

    1 var s="abc";
    2 console.log(s.charAt(1));//b

    若索引越界,返回空字符串。

    1 var s="abc";
    2 console.log(s.charAt(-1));//""

    substr()

    substr(fromIndex,length):从起始索引fromIndex开始截取长度length的字符串。

    1 var s="abc";
    2 console.log(s.substr(1,1));//b

    若length < 1,返回空字符串。

    1 var s="abc";
    2 console.log(s.substr(1,-1));//""

    若不指定length或者length超过可截取的最大长度,则截取到结尾。

    1 var s="abc";
    2 console.log(s.substr(1));//bc
    3 console.log(s.substr(1,10));//bc

    若起始索引为负,则从右往左开始截取(从右往左的索引从-1开始)。

    1 var s="abc";
    2 console.log(s.substr(-1,1));//c

    substring()

    substring(startIndex,endIndex):截取起始索引startIndex到结束索引endIndex的子字符串,结果包含startIndex处的字符,不包含endIndex处的字符。

    1 var s="abc";
    2 console.log(s.substring(1,2));//b

    若startIndex或者endIndex为负,则会被替换为0。

    1 var s="abc";
    2 console.log(s.substring(-1,2));//ab

    若startIndex和endIndex相等,则返回空字符串。

    若startIndex > endIndex,则执行方法时,两个值会被交换。

    1 var s="abc";
    2 console.log(s.substring(2,1));//b

    若不指定endIndex或endIndex超出最大索引,则截取到结尾。

    1 var s="abc";
    2 console.log(s.substring(1));//bc
    3 console.log(s.substring(1,10));//bc

    slice()

    slice(startIndex,endIndex):截取起始索引startIndex到结束索引endIndex的子字符串,结果包含startIndex处的字符,不包含endIndex处的字符。

    1 var s="abc";
    2 console.log(s.slice(1,2));//b

    若startIndex或者endIndex为负,表示该索引是从右往左计算的索引(跟substring不同)。

    1 var s="abc";
    2 console.log(s.slice(1,2));//b
    3 //等价于
    4 console.log(s.slice(1,-1));//b
    5 //等价于
    6 console.log(s.slice(-2,-1));//b
    7 //等价于
    8 console.log(s.slice(-2,2));//b

    若startIndex所表示的索引位置等于endIndex所表示的索引位置,或者startIndex所表示的索引位置在endIndex所表示的索引位置之后,则返回空字符串(跟substring不同)。

    1 var s="abc";
    2 console.log(s.slice(1,1));//""
    3 console.log(s.slice(-1,-2));//""

    split()

    按给定字符串分割,返回分割后的多个字符串组成的字符串数组。

    1 var s="a,bc,d";
    2 console.log(s.split(","));//["a", "bc", "d"] 
    3 
    4 s="a1b1c1d1";
    5 console.log(s.split("1"));//["a", "b", "c", "d", ""] 
  • 相关阅读:
    解决显示器闪屏的问题
    装完系统后由于分辨率问题不能进入系统怎么办?怎么能不进入系统设置分表率?
    如何设置win7任务栏的计算机快速启动
    【转载】Oracle层次查询和分析函数
    【原创】birt 报表工具 不能运行 不能预览问题
    【转】最牛B的编码套路
    Windows下python环境配置
    python:numpy 下载
    TEX(LaTEX)输出PDF设置US LETTER或者LETTERPAPER办法
    Adobe Illustrator Cs6【AI cs6】中文破解版安装图文教程、破解注册方法
  • 原文地址:https://www.cnblogs.com/luotaoyeah/p/3825735.html
Copyright © 2020-2023  润新知