字符串常用方法

  • 获取类方法

charAt()
该方法用来获取指定位置的字符串,若超出字符串长度范围,返回一个空的字符串。

let str = 'hello world'
let newStr = str.charAt(4)
newStr // o

charCodeAt()
该方法返回指定位置的 Unicode 编码,超出范围返回NaN

let str = 'hello world'
let newStr = str.charCodeAt(6)
newStr // 119

fromCharCode()
该方法可接受一个或多个 Unicode 值,然后返回一个字符串。另外它是String的静态方法,字符串的每个字符都由单独的数字 Unicode 编码指定。

let str = String.fromCharCode(97,98,99,100)
str // abcd
  • 查找类方法

indexOf()
indexOf()用来检索指定字符串中首次出现的位置。它可以接受两个参数,第一个参数表示要查找的字符串,第二个参数表示查找开始的位置,省略的话则从索引0开始查找,若没有找到返回 -1。

let str = 'hello world'
let newStr1 = str.indexOf('l')
let newStr2 = str.indexOf('t')
newStr1 // 2
newStr2 // -1

lastIndexOf()
该方法用来检索指定字符串在字符串中最后出现的位置,没找到返回 -1。

let str = 'hello world'
let newStr1 = str.lastIndexOf('l')
let newStr2 = str.lastIndexOf('t')
newStr1 // 3
newStr2 // -1

search()
search()方法用于检索字符串中指定的子字符串,或检索与正则表达式想匹配的子字符串。它会返回第一个匹配的子字符串的起始位置,若没有匹配的,则返回 -1。

let str = 'hello world'
let newStr1 = str.search('l')
let newStr2 = str.search('f')
let newStr3 = str.search(/Llo/i)
newStr1 // 2
newStr2 // -1
newStr3 // 2

match()
该方法可在字符串内检索指定值,或找到一个或多个正则表达式的匹配。它与indexOf()相类似,但是它返回一个包含指定指定的数组,而不是字符串的位置。若找不到返回null。

let str = 'hello world'
let newStr1 = str.match('l')
let newStr2 = str.match('f')  // null

typescript 数组查询 js数组查询指定字符_字符串

  • 截取类方法

substring()

substring()是最常用的字符串截取方法,它可以接受两个参数(参数不能为负值),分别是要截取开始的位置和结束位置。它返回一个新的字符串,其内容是从start处到 end - 1 的所有字符。若结束参数(end)省略,则表示从start位置一直截取到最后。

let str = 'hello world'
let newStr = str.substring(2, 4)
newStr // ll

substr()
substr() 接收一个或两个参数(开始位置和截取的字符个数),截取的字符串个数从开始位置算起,若不指定截取的字符个数,默认从截取开始位置后面的全部字符。

let str = 'hello world'
let newStr1 = str.substr(6, 2) 
let newStr2 = str.substr(-2) // 参数可以为负值,且从-1开始,而不是0
newStr1 // wo
newStr2 // orld

slice()
slice() 与 substring() 方法非常类似,接收的两个参数也分别对应着开始位置和结束位置。而区别在于:**slice()中的参数可以为负值。**如果该参数是负数,则该参数规定的是字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,而不是0.

let str = 'hello world'
let newStr1 = str.slice(2, 7) // llo w
let newStr2 = str.slice(-7, -2) // o wor
  • 其他字符串方法

replace()
该方法用来进行字符串替换操作,它可以接收两个参数,前者为被替换的子字符串(可以是正则表达式),后者为用来替换的文本。

如果第一个参数传入的是子字符串或是没有进行全局匹配的正则表达式,那么replace() 方法将只进行一次替换(即替换最前面的),返回经过一次替换的字符串。

let str = 'hello world'
let newStr1 = str.replace('world', 'javascript') // 'hello javascript'

// 在没有进行全局匹配的情况下,只会将第一个匹配的字符进行替换
let newStr2 = str.replace('l', '*') // he*lo world
let newStr3 = str.replace(/l/g, '*') // he**o wor*d

concat()
该方法用于连接两个或多个字符串,相当于“ + ”运算符

let str = 'hello world'
let newStr = str.concat('say Hi') 
newStr // hello world say Hi

split()
split() 方法用于将一个字符串分割为一个数组。第一个参数表示分割符(分割符为字符串中的子字符串),第二个参数表示返回数组的允许最大长度(一般情况下不设置)

let str = 'hello world'
let newStr = str.split(' ')
newStr .. ["hello", "world"]

toLowerCase() & toUpperCase()
toLowerCase()方法可以将字符串中的大写字母转换为小写
** toUpperCase()方法可以将字符串中的小写字母转换为大写**

let str = 'hello world'
let newStr1 = str.toLowerCase() // hello world
let newStr2 = str.toUpperCase() // HELLO WORLD

trim()
trim()方法用来去除字符串的首尾空格

let str = ' hello world '
let newStr = str.trim()  // 'hello world'