String

Instance Methods

at

  • 描述:返回索引位置字符串
  • 语法at(index)
  • 参数
    • index = 0:索引
      索引边界处理
      if (index < 0) index = index + str.length
  • 返回值string, undefined
'hello'.at()   // 'h'
'hello'.at(0)  // 'h'
'hello'.at(-1) // 'o'
 
'hello'.at(10) // undefined

charAt

  • 描述:返回索引位置的字符串
  • 语法charAt(index)
  • 参数
    • index = 0:索引
  • 返回值string, -1
'hello'.charAt()  // 'h'
'hello'.charAt(1) // 'e'
 
'hello'.charAt(-1) // ''
'hello'.charAt(10) // ''

indexOf

  • 描述:返回字符串首次出现位置的索引
  • 语法IndexOf(string, position?)
  • 参数
    • string:需要查询的字符串
    • position = 0:查询起始位置
  • 返回值number
'hi hi hi'.indexOf('hi')    // 0
'hi hi hi'.indexOf('hi', 2) // 3
'hi hi hi'.indexOf('hello') // -1
 
'hi hi hi'.indexOf('') // 0

lastIndexOf

  • 描述:返回字符串最后一次出现位置的索引
  • 语法lastIndexOf(string, position?)
  • 参数
    • string:需要查询的字符串
    • position = 0:查询起始位置
  • 返回值number
'hi hi hi'.lastIndexOf('hi')    // 6
'hi hi hi'.lastIndexOf('hi', 2) // 0
'hi hi hi'.lastIndexOf('hello') // -1
 
'hi hi hi'.lastIndexOf('') // 8

startsWith

  • 描述:判断是否以某字符串开头
  • 语法startsWith(string, position?)
    • string:需要查询的字符串
    • position = 0:查询起始位置
  • 返回值boolean
'hello'.startsWith('h')    // true
'hello'.startsWith('h', 1) // false

endsWith

  • 描述:判断是否以某字符串结尾
  • 语法endsWith(string, position?)
    • string:需要查询的字符串
    • position = str.length:查询起始位置
  • 返回值boolean
'hello'.endsWith('o')    // true
'hello'.endsWith('o', 4) // false

includes

  • 描述:判断是否包含某字符串
  • 语法includes(string, position?)
    • string:需要查询的字符串
    • position = 0:查询起始位置
  • 返回值boolean
'hello'.includes('h')    // true
'hello'.includes('h', 1) // false

slice

  • 描述:提取子字符串
  • 语法slice(start, end?)
  • 参数
    • start:起点
    • end:终点
      索引边界处理
      if (typeof start !== 'number') start = 0
      if (typeof end !== 'number') end = str.length
      if (index < 0) index = index + str.length
      if (index > str.length) index = str.length
      if (start > end) start = end
  • 返回值string
// 正向切片
'code-anchor'.slice() // 'code-anchor'
'code-anchor'.slice(5) // 'anchor'
'code-anchor'.slice(0, 4) // 'code'
 
// 逆向切片
'code-anchor'.slice(-1) // 'r'
'code-anchor'.slice(0, -1) // 'code-ancho'

substring

  • 描述:提取子字符串
  • 语法slice(start, end?)
  • 参数
    • start:起点
    • end:终点
      索引边界处理
      if (typeof start !== 'number') start = 0
      if (typeof end !== 'number') end = str.length
      if (index < 0) index = 0
      if (index > str.length) index = str.length
      if (start > end) [start, end] = [end, start]
  • 返回值string
// 正向切片
'code-anchor'.substring() // 'code-anchor'
'code-anchor'.substring(5) // 'anchor'
'code-anchor'.substring(0, 4) // 'code'
 
// 逆向切片
'code-anchor'.substring('code-anchor'.length - 1) // 'r'
'code-anchor'.substring(0, 'code-anchor'.length - 1) // 'code-ancho'

trim

'  code  '.trim() // 'code'

trimStart

'  code  '.trimStart() // 'code  '

trimEnd

'  code  '.trimEnd() // '  code'

padStart

  • 描述:从左填充字符串
  • 语法PadStart(length, string?)
  • 参数
    • length:填充后,字符串的长度
    • string = ' ':填充的字符串
  • 返回值string
'hello'.padStart(10)       // '     hello'
'hello'.padStart(10, '.')  // '.....hello'
'hello'.padStart(10, '._') // '._._.hello'

padEnd

  • 描述:从右填充字符串
  • 语法PadEnd(length, string?)
  • 参数
    • length:填充后,字符串的长度
    • string = ' ':填充的字符串
  • 返回值string
'hello'.padEnd(10)       // 'hello     '
'hello'.padEnd(10, '.')  // 'hello.....'
'hello'.padEnd(10, '._') // 'hello._._.'

toUpperCase

  • 描述:将字符串转化为大写
  • 语法toUpperCase()
  • 返回值string
'hello'.toUpperCase() // 'HELLO'

toLowerCase

  • 描述:将字符串转化为小写
  • 语法toLowerCase()
  • 返回值string
'HELLO'.toLowerCase() // 'hello'

replace

  • 描述:替换首次匹配的值
  • 语法replace(regexp, replacement)
  • 参数
    • regexp:正则表达式
    • replacement:替换的字符串
  • 返回值string
'hello'.replace(/l/, '_') // 'he_lo'

replaceAll

  • 描述:替换所有匹配的值
  • 语法replaceAll(regexp, replacement)
  • 参数
    • regexp:正则表达式
    • replacement:替换的字符串
  • 返回值string
'hello'.replaceAll(/l/g, '_') // 'he__o'

match

  • 描述:返回首次匹配信息
  • 语法match(regexp)
  • 参数
    • regexp:正则表达式
  • 返回值array, null
'hello'.match(/o/) // ['o', index: 4, input: 'hello', groups: undefined]
'hello'.match(/x/) // null

matchAll

  • 描述:返回所有匹配信息
  • 语法matchAll(regexp)
  • 参数
    • regexp:正则表达式
  • 返回值iterator
'hello'.matchAll(/o/g) // iterator: [['o', index: 4, input: 'hello', groups: undefined]]
'hello'.matchAll(/x/g) // iterator: []

search

  • 描述:返回首次匹配的索引
  • 语法search(regexp)
  • 参数
    • regexp:正则表达式
  • 返回值number
'hello'.search(/o/) // 4
'hello'.search(/x/) // -1

split

  • 描述:分割字符串
  • 语法split(separator, limit?)
  • 参数
    • separator:分割符
    • limit = Infinity:数组长度上限
  • 返回值array
'hello'.split('')  // ['h', 'e', 'l', 'l', 'o']
'hi hi'.split(' ') // ['hi', 'hi']

repeat

  • 描述:重复复制字符串
  • 语法repeat(count)
  • 参数
    • count = 0:重复次数
  • 返回值string
'hi'.repeat(0) // ''
'hi'.repeat(1) // 'hi'
'hi'.repeat(2) // 'hihi'

concat

  • 描述:字符串拼接
  • 语法concat(...strs)
  • 参数
    • strs:需要拼接的字符串
  • 返回值string
'hi'.concat('-')       // 'hi-'
'hi'.concat('-', 'hi') // 'hi-hi'