JS字符串的常用方法

笑着哭i 提交于 2019-12-24 20:18:43

常用字符串的方法

1.str.charAt(1)

    从一个字符串中返回指定位置处的字符

let str = 'hello world'
charAt()从一个字符串中返回指定位置处的字符

    参数1: 下标
    返回值: 下标位置处的字符 超出字符串长度返回空字符

str.charAt(1) 
// String e 
// 从下标为1的位置返回它的值

2.str.charcodeAt()

    从一个字符串中返回指定位置处字符的的字符编码

let str = 'hello world'

str.charcodeAt() // 从一个字符串中返回指定位置处字符的的字符编码
    参数1: 下标
    返回值: 下标位置处的字符编码

str.charcodeAt(1)
// 101
// 根据字符查找对应的字符编码

3.str[1]

    因为字符串也是有length属性的所以可以通过下标访问法来访问值

4.concat()

     将多个参数拼接成新的字符串返回,但不会改变原字符串(这里更推荐使用 JS的赋值操作符来进行拼接)

let str1 = 'a'
let str2 = 'b'
let str3 = 'c'

concat() // 将多个参数拼接成新的字符串返回,但不会改变原字符串
    
    参数为拼接的变量

str1.concat(str2) // 'ab'

str1.concat(str2, str3) // 'abc'
// 拼接多个字符串时参数使用','来分隔

5.slice()

     截取字符串

let str = 'hello world'

slice() // 截取指定位置的处字符串
    可选参数(起始位置和结束位置)
      参数说明:
           参数1: 起始位置
           参数2: 结束位置
    
    返回值: 新字符串
str.slice()
// abcd 
// 不传入位置的话默认返回所有字符

str.slice(2)
// cd
// 只传入一个起始位置时 结束位置默认为字符串长度

str.slice(2,3)
// c
// 传入起始位置和结束位置时 截取从起始位置到结束位置上的字符

6.substring()

    截取字符串,接受一或两个参数(开始位置和结束位置,会将较小的参数作为起始位置),接受负值时会将负的参数转换为零

let str = 'hello world'

substring() // 截取指定位置的处字符串
    可选参数(起始位置和结束位置)
      参数说明:
           参数1: 起始位置
           参数2: 结束位置
    
    返回值: 新字符串
str.substring()
// abcd 
// 不传入位置的话默认返回所有字符

str.substring(2)
// cd
// 只传入一个起始位置时 结束位置默认为字符串长度

str.substring(2,3)
// c
// 传入起始位置和结束位置时 截取从起始位置到结束位置上的字符

str.substring(3,1)
// bc
// 如果起始位置 大于 结束位置,则 substring 的执行效果就像两个参数调换了一样

7.substr()

   截取字符串,接受一或两个参数(开始位置和截取的字符个数),接受负值时会将第一个负的参数加上字符串长度,将第二个负的参数转换为0

let str = 'hello world'

substr() // 从指定位置接入指定长度的字符
    可选参数(起始位置和结束位置)
      参数说明:
           参数1: 起始位置
           参数2: 截取长度
    
    返回值: 新字符串
str.substr()
// abcd 
// 不传入位置的话默认返回所有字符

str.substr(2)
// cd
// 只传入一个起始位置时 结束位置默认为字符串长度

str.substr(2,3)
// cd
// 传入起始位置和截取长度时 截取从起始位置到截取长度

str.substr(4,1)
// ''
// 如果起始位置 大于字符串长度,则 substr返回''

8.indexOf()

   可接受两个参数,要查找的子字符串和查找起点(可选),找到返回位置,找不到返回-1

let str = 'hello world'
indexOf() // 正序查找字符串的位置

可选参数:(查找的字符串和查找开始的位置)
  参数说明:
    第一个参数代表查找的字符串,查找第一个符合条件的字符串的下标,找不到返回-1
    第二个参数代表查找开始的位置

str.indexOf('l')
// 2
// 查找到字符时只返回第一个符合条件的下标

str.indexOf('1')
// -1
// 找不到返回-1

7.lastIndexOf()

      从数组的末尾开始查找(用法与indexOf相同,只不过IndexOf是正序查找,lastIndexOf是倒序查找)

let str = 'hello world'
lastIndexOf() // 倒序查找字符串的位置

可选参数:(查找的字符串和查找开始的位置)
  参数说明:
    第一个参数代表查找的字符串,查找第一个符合条件的字符串的下标,找不到返回-1
    第二个参数代表查找开始的位置

str.lastIndexOf('l')
// 9
// 查找到字符时只返回第一个符合条件的下标

str.lastIndexOf('1')
// -1
// 找不到返回-1

8.trim()

     删除前置和后缀的空格 返回的是字符串的副本,原始字符串不变(无法去掉字符串中间的空格)(无参数)

let str = '   a     '
trim() // 去掉字符串两端的空格

str.trim()
// a  

9.toLowerCase()

    将字符串内的全部英文字符串转为小写(无参数)

let str = 'ABCDKDJLKFJSLKFJD'

toLowerCase() // 英文字符串转为小写

str.toLowerCase()
// abcdkdjlkfjslkfjd

10.toUpperCase()

    将字符串内的全部英文字符串转为大写(无参数)

let str = 'abcdkdjlkfjslkfjd'

toUpperCase() // 英文字符串转为大写

str.toUpperCase()
// ABCDKDJLKFJSLKFJD

11.toLocaleLowerCase() // 转小写,针对地区的方法(无参数)

12.toLocaleUpperCase() // 转大写,针对地区的方法(无参数)

13.match() // 接收一个参数,正则表达式或者RegExp对象(用于检测正则表达式的匹配结果)

14.search() // 接受一个正则,根据正则表达式查找字符串中第一个匹配项的索引,没有返回-1

15.replace() // 替换字符串。接受两个参数,第一个是一个字符串或者RegExp对象,
            //第二个参数是一个字符串或者函数。如果第一个参数是一个字符串,
            //那么只会替换第一个子字符串,要想替换所有唯一的方法就是提供一个
            //正则表达式,指定全局g标志
            //replace()方法的第二个参数也可以是一个函数
            function(match,...,pos,originalText){
                match //模式的匹配项
                ... //正则表达式定义了多个捕获组的情况下,是第二,三...匹配项
                pos //模式的匹配项在字符串中的位置
                originalText //原始字符串
            }

16.split() 
        可选参数(切割的字符和切割后数组的大小)

        参数说明:
            第一个参数表示使用什么字符进行切割字符串
            第二个参数表示切割字符串的长度

        返回值:切割后的一个数组


17.includes() // 返回布尔值,表示是否找到了参数字符串。
18.startsWith() // 返回布尔值,表示参数字符串是否在原字符串的头部。
19.endsWith() // 返回布尔值,表示参数字符串是否在原字符串的尾部。

        参数:(查找的字符串和查找开始的位置)

        参数说明:
            第一个参数代表查找的字符串,查找第一个符合条件的字符串的下标,返回true/false
            第二个参数代表查找开始的位置
        
        返回值: 布尔值(true/false)

20.repeat() // 该方法返回一个新字符串,表示将原字符串重复n次。
    
        参数为重复的次数
        
           如果参数为负数或者Infinity会报错
           如果传入的是字符串它会尝试将这个字符串转换为数值,如果转换不了则默认按照0次处理

        返回值:一个新的字符串

21.padStart() // 如果某个字符串不够指定长度,会在头部补全
22.padEnd() // 如果某个字符串不够指定长度,会在尾部补全

        参数说明
            第一个参数是字符串补全生效的最大长度,
            第二个参数是用来补全的字符串。
        
            如果最大长度大于补全字符串的长度则会对补全字符串进行切割
        
        返回值:新的字符串

23.trimStart() // 消除字符串头部的空格(无参数)
24.trimEnd() // 消除字符串尾部的空格(无参数)
        


 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!