• JavaScript中常用字符串方法总结


    目录

    length获取字符串长度

    获取字符在字符串中所处位置

    indexOf()获取出现位置(从前往后查找)

    lastIndexOf()获取出现位置(从后往前查找)

    search()正则表达式查找

    includes()查找字符串中的字符串

    startsWith()判断是否以某字符串开头

    endsWith()判断是否以某字段结尾

    charAt()查找指定下标的字符 

    大小写转换

    toUpperCase()转为大写

    toLowerCase()转为小写

    删除字符串空白字符

    trim()删除首尾两侧空白字符

    trimEnd()删除尾部空白字符

    trimStart()删除首部空白字符

    截取字符串

    substring()截取

    substr()被废弃

    split()拆分方法

    连接字符串

    concat()连接字符串

    替换字符串方法

    replace()替换方法

    重复字符串

    repeat()重复方法


    前言:

    所有的字符串方法都是返回新的字符串,不会更改原始字符串(这一点比数组好区分多了~)

    length获取字符串长度

    1. var str = 'bad girl';
    2. console.log(str.length); // 8

    获取字符在字符串中所处位置

    indexOf()获取出现位置(从前往后查找)

    1. str.indexOf(searchString, position) // 第一个参数是要查找的字符,第二个参数是开始查找的位置
    2. // 第二个参数可省略,默认从第一个字符开始查找

    该方法接收两个参数,第一个参数是要查找的字符,第二个参数是开始查找的位置,若不传第二个参数,则默认从0开始查找;若参数小于0,也默认从0开始查找;查找时区分大小写~

    该方法返回查找字段所在索引位置,若找不到,则返回-1; 

    1. var str = 'good good study, day day up';
    2. console.log(str.indexOf('a')); // 18 取得是第一个day中的a
    3. var str = 'good good study, day day up';
    4. console.log(str.indexOf('a', 19)); // 22 从第19个字符开始查找
    5. var str = 'good good study, day day up';
    6. console.log(str.indexOf('e')); // -1 没找到字符e

    lastIndexOf()获取出现位置(从后往前查找)

    参数与用法有indexOf()方法一样,如果第二个参数大于或等于数组的长度,则表示整个数组会被查找;若为负值,则视为从0开始查找;

    1. var str = 'good good study, day day up';
    2. console.log(str.lastIndexOf('a')); // 22 取得是第二个day中的a
    3. console.log(str.lastIndexOf('a', -22)); // -1 负数默认从索引位置0处取,0位置是g,所以结果为-1

    search()正则表达式查找

    该方法执行正则表达式对String对象进行搜索匹配;

    str.search(regexp)

    所传参数为一个正则表达式对象,若传入一个非正则表达式对象,则会使用new RegExp(regexp)隐式的将其转换为正则表达式对象;

    若匹配成功,则返回正则表达式在字符串中首次匹配项的索引值,反之为-1;

    1. var str = 'good good study, day day up';
    2. console.log(str.search(/oo/)); // 1
    3. console.log(str.search(/^oo$/)); // -1
    4. console.log(str.search('o')); // 1

    includes()查找字符串中的字符串

    该方法执行区分大小写的搜索,以确定是否可以在另一个字符串中找到一个字符串,如果能找到则返回true,反之返回false;同样可接收两个参数,第一个参数是要查找的字符串,第二个字符串是开始查找位置;

    1. str.includes(searchString)
    2. str.includes(searchString, position)
    1. var str = 'good good study, day day up';
    2. console.log(str.includes('oo')); // true
    3. console.log(str.includes('oo', 8)); // false

    startsWith()判断是否以某字符串开头

    startsWith()方法用来判断当前字符串是否以另外一个子字符串开头(区分大小写),如果是返回true,反之返回false;

    1. str.startsWith(searchString)
    2. str.startsWith(searchString, position)

    同样有两个参数,第一个参数表示子字符串,第二个参数是开始查找的位置;

    1. var str = 'good good study, day day up';
    2. console.log(str.startsWith('good')); // true
    3. console.log(str.startsWith('study')); // false

    endsWith()判断是否以某字段结尾

    endsWith()方法用来判断当前字符串是否以另外一个子字符串结尾(区分大小写),如果是返回true,反之返回false;

    1. str.startsWith(searchString)
    2. str.startsWith(searchString, length)

    同样有两个参数,第一个参数表示子字符串,第二个参数表示截取的str的长度,若不传则默认是str.length 

    1. var str = 'good good study, day day up';
    2. console.log(str.endsWith('up')); // true
    3. console.log(str.endsWith('study')); // false
    4. console.log(str.endsWith('study',15)); // true

    charAt()查找指定下标的字符 

    该方法返回指定下标的字符;参数index取值在0~str-length-1之间,如果不在此范围,该方法将返回一个空字符串。

    str.charAt(index)
    1. var str = 'good good study, day day up';
    2. console.log(str.charAt(3)); // d

    大小写转换

    toUpperCase()转为大写

    str.toUpperCase()
    1. var str = 'good good study, day day up';
    2. console.log(str.toUpperCase()); // GOOD GOOD STUDY, DAY DAY UP

    toLowerCase()转为小写

    str.toLowerCase()
    1. var str1 = 'GOOD GOOD STUDY, DAY DAY UP';
    2. console.log(str.toLowerCase()); // good good study, day day up

    删除字符串空白字符

    trim()删除首尾两侧空白字符

    该方法删除首尾两侧的空白字符,包含空格、tab以及不换行空格,所有行终止符(如LF/CR等)

    str.trim()
    
    1. var str = ' good good study, day day up ';
    2. console.log(str); // good good study, day day up
    3. console.log(str.trim()); // good good study, day day up

    trimEnd()删除尾部空白字符

    该方法会删除字符串末尾的空白字符。该方法等同于trimRight();

    1. var str = 'good good study, day day up ';
    2. console.log(str.length); // 29
    3. console.log(str.trimEnd().length); // 27

    trimStart()删除首部空白字符

    该方法会删除字符串首部的空白字符。该方法等同于trimLeft();

    1. var str = ' good good study, day day up';
    2. console.log(str.length); // 30
    3. console.log(str.trimStart().length); // 27

    截取字符串

    slice()截取

    slice()方法截取某个字符串的一部分,返回一个新的字符串;

    1. str.slice(beginIndex)
    2. str.slice(beginIndex, endIndex)

    接收两个参数,第一个参数是开始截取的索引位置,第二个参数是停止截取的索引位置(可选,若不传,默认到字符串结尾);左闭右开

    如果参数为负值,则按beginIndex+strLength或endIndex+strLength来算;strLength是字符串的长度

    1. var str = 'good good study, day day up';
    2. console.log(str.slice(1,6)); // ood g
    3. console.log(str.slice(1,-9)); // 从1到(27-9)取字符串,结果为good good study, d

    substring()截取

    该方法返回一个字符串在开始索引到结束索引之间的一个子集;

    1. str.substring(indexStart)
    2. str.substring(indexStart, indexEnd)

    有两个参数,第一个参数表示截取的开始索引,第二个参数可选,表示截取的截止位置(左闭右开),几个注意点:

    • 若两个参数相同,则返回一个空字符串
    • 若参数小于0或为NaN,则被当做0;
    • 若第一个参数大于第二个参数,则结果与顺序正常一样
    1. var str = 'good good study, day day up';
    2. console.log(str.substring(1,6)); // ood g
    3. console.log(str.substring(1,-9)); // 相当于(0,1) g
    4. console.log(str.substring(8, 1)); // 相当于(1,9) ood goo

    和slice方法的区别是关于参数为负数的处理方法不同~

    substr()被废弃

    split()拆分方法

    该方法用于在指定分隔字符处将字符串分隔成子字符串,并将其组成一个子字符串数组

    1. str.split()
    2. str.split(separator)
    3. str.split(separator, limit)

    第一个参数表示分隔符或正则表达式,如“|”,则表示依据字符串中的“|”进行分割,找到分隔符后,将其从字符串中删除,若参数是正则表达式,并且加了括号,则不用删除,返回全部组成的数组

    第二个参数表示限定返回的分割片段数量。如分割成了5个片段,若此值设为3,则只返回前三个片段组成的数组

    1. var str = 'good good study, day day up';
    2. console.log(str.split(' ')); // ['good', 'good', 'study,', 'day', 'day', 'up']
    3. console.log(str.split(' ', 3)); // ['good', 'good', 'study,']
    4. console.log(str.split(/oo/)); // ['g', 'd g', 'd study, day day up']
    5. console.log(str.split(/oo/, 2)); //  ['g', 'd g']
    6. console.log(str.split(/(oo)/)); // ['g', 'oo', 'd g', 'oo', 'd study, day day up']
    7. console.log(str.split(/(oo)/, 2)); //  ['go', 'oo']

    数组的join()方法作用相反

    连接字符串

    concat()连接字符串

    可连接多个字符串,并返回新连接后的字符串

    concat(str1, str2, /* …, */ strN)
    1. var str = 'good good study, day day up';
    2. var str1 = 'and earn money';
    3. var str2 = 'make world beauty';
    4. console.log(str.concat(str1,str2)); // good good study, day day upand earn moneymake world beauty

    替换字符串方法

    replace()替换方法

    该方法在之前正则表达式中已讲过,它返回由替换值代替后的新的字符串

    str.replace(regexp|substr, newSubStr|function)

    第一个参数可以是个正则表达式或字符串形式,第二个参数可以是要替换成的新的字符串或函数(用于创建新子字符串的函数,该函数的返回值作为新字符串进行替换);仅能够替换掉第一个匹配到的字符串; 若使用正则表达式进行匹配替换,可使用/g标识

    1. var str = 'good good study, day day up';
    2. console.log(str.replace('good', 'bad')); // bad good study, day day up
    3. console.log(str.replace(/good/, 'bad')); // bad good study, day day up
    4. console.log(str.replace(/good/g, 'bad')); // bad bad study, day day up

    重复字符串

    repeat()重复方法

    str.repeat(count)

    将str重复count次

    1. var str = 'good';
    2. console.log(str.repeat(3)); // goodgoodgood

  • 相关阅读:
    第一篇:mybatis源码入门
    用Python让字符串整齐排列:左对齐、右对齐还是居中对齐?
    Python 爬虫入门
    JavaScript深浅拷贝实现
    看完才发现饼图插入图片so easy!
    Python用requests库采集充电桩LBS位置经纬度信息
    AWS SAP-C02 考试指南
    北斗短报文通信原理及功能介绍
    软件工程,必须跨越的四大门槛
    新手小白学JAVA 泛型 Collection List Set
  • 原文地址:https://blog.csdn.net/ks795820/article/details/127977746