zoukankan      html  css  js  c++  java
  • JS 中字符串的常用的方法

    总结JS中的常用字符串方法

    截取字符串的三种方式

    1、slice()

    通过指定字符串的开始位置结束位置,截取,返回新的字符串

    slice(start, end)

    start: 必须的,如果是正数是指从头开始(从左向右),如果是负数是指从末尾开始(从右向左)

    end: 可选的,表示结束的位置(但是不包括这个位置),如果没有,就是一直截取到字符串的末尾。

    let str = 'james';
    let a = str.slice(2,3);   //不包括下标为3,返回新值
    console.log(a) // m
    
    let b = str.slice(2)   //一直到末尾的
    console.log(b)   //mes
    
    //如果只传递一个负数作为参数时,就是从字符串的末尾开始截取,截取到相应的下标值(从右向左)
    let c = str.slice(-3)
    console.log(c)   //mes
    

    String.slice()和Array.slice()的区别:

    返回的类型不同,一个是字符串,一个是数组

    2、substring()

    substring 方法用于提取字符串中介于两个指定下标之间的字符;

    substring(start, end)

    start: 必须的,截取字符的最开始的下标值

    end: 可选的,结束下标(但是不包括)

    注意事项:

    1. 不包括end的下标值
    2. 如果没有end,就是到末尾值
    3. 如果 end 大于 start,start和end交换
    4. 如果其中是一个负值,那么就会自动转化为0,在与另外一个值进行比较
    let str = 'james';
    //正常的情况
    let a = str.substring(2,4)
    console.log(a)  //me
    
    //如果没有设置end,就会延迟到字符串末尾
    let b = str.substring(2)
    console.log(b)   //mes
    
    //如果前面的数字,大于后面,就会交换
    let c = str.substring(4, 2)
    console.log(c)   //me
    
    //如果有负值,就会转化为0,再进行比较,是否交换
    let d = str.substring(2, -3)
    console.log(d)  //ja
    
    //只传递一个负数的参数,就是输出整个长度(只要是负数,会默认的转化为0,又因为没有传递第二个参数,直接截取到字符串的末尾)
    let e = str.substring(-3)
    console.log(e)  //james
    

    3、substr()

    substr() 方法用于返回一个从指定位置开始的指定长度的子字符串。

    substr(start,length)

    start(必需):所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。

    length(可选):在返回的子字符串中应包括的字符个数。

    注意事项

    • 如果 length 为 0 或负数,将返回一个空字符串。
    • 如果没有指定 length,那么截取字符串的末尾。
    • 如果 start ,那么它将被替换为 0。
    let str = 'james';
    
    //从下标为2的地方,开始截取长度为3的字符串
    let a = str.substr(2,3)
    console.log(a)  //mes
    
    //直接截取到字符串的末尾
    let b = str.substr(2)
    console.log(b)   //mes
    
    //如果有一个负数,会直接转化为0,然后进行截取(如果长度为0,返回空的字符串)
    let d = str.substr(2, -3)
    console.log(d)  //  空
    
    //只传递一个负数作为参数,那么这个值会先加上字符串的长度,得到的值,作为第一个参数进行以后的操作。
    //(例如:这里传递了 -2 , ‘james’的长度为5, 那么相加的结果为3,所以会把3作为第一个参数)
    let e = str.substr(-2)
    console.log(e)   //es
    

    其他字符串的操作

    charAt()

    返回指定位置的字符。

    charAt(n)

    注意:如果n为小于0,或者大于等于字符串的长度,会返回空的字符串。

    let str = 'james';
    let a = str.charAt(2)
    console.log(a)   //m
    

    concat()

    类似于Array.concat(),用法也基本一样,(拼接字符串使用 “+”也可以)

    str.concat(str1...) 可以连接多个

    let str = 'james';
    let a = str.concat('kobe')
    console.log(a)   //jameskobe
    

    indexOf()

    返回匹配字符的第一个下标,如果没有找到,返回-1

    indexOf(searchString, position)

    searchString: 必须的

    position: 可选的,指定从position的位置开始查找(而不是从头开始)

    let str = 'james kobe';
    let a = str.indexOf('e')
    console.log(a)   //3
    
    //从第4个位置开始查找'e'
    let b = str.indexOf('e', 4)
    console.log(b)   //9
    

    lastIndexOf()

    跟indexOf()的用法一样,只不过是从末尾开始查找

    replace()

    对字符串查找,并且替换

    replace(old, new)

    old: 必须的,要被替换的内容

    new:必须的,新的内容

    返回值: 返回一个新的字符串

    let str = 'jamesa';
    let a = str.replace('a', 'A')
    console.log(a)  //jAmesa
    
    //从这里可以看出,这里只替换了第一个满足条件,就结束了。
    

    localeCompare()

    用本地特定的顺序来比较两个字符串。

    str.localeCompare(otherStr)

    当str小于otherStr,则返回值小于0

    当str等于otherStr,则返回值为0

    当str大于otherStr,则返回值大于0

    注意事项:

    1. 字符串大小比较,是采用字符串的Unicode编码进行对比

    2. 当两个字符串的第一个字符可以比较出大小,则输出其结果值,如果无法比较出大小的话,则继续开始第二个字符开始比较

    3. localCompare对比采用操作系统的排序规则

    4. 对于汉字,采用其比较其拼音大小,输出localeCompare值

    let str = '北京';
    let aa = str.localeCompare('上海')
    console.log(aa);  //-1
    

    split()

    用于把一个字符串分割成字符串数组

    let str = 'james'
    let aa = str.split()   //没有传递参数,完全把整个字符串转化为数组
    console.log(aa)  //['james']
    
    //传递一个分割符,把字符串进行分割,保存在数组中
    let str = 'ja*me*s';
    let b = str.split('*')  
    console.log(b)   //["ja", "me", "s"]
    

    持续更新。。。(偷懒中)

  • 相关阅读:
    数据库悲观锁与乐观锁
    windows消息大全
    Ubuntu 16.04 LTS GNOME版本下载
    Spring MVC-表单(Form)处理示例(转载实践)
    Spring MVC-Hello World示例(转载实践)
    Spring MVC-环境设置(转载实践)
    MyBatis在注解上使用动态SQL(@select使用if)
    Ubuntu 16.04安装Ubuntu After Install工具实现常用软件批量安装
    Ubuntu 16.04开机自动挂载硬盘分区(转)
    Spring MVC-概述(转载实践)
  • 原文地址:https://www.cnblogs.com/xyf724/p/13619789.html
Copyright © 2011-2022 走看看