logo头像

求知若渴,虚心若愚

JavaScript - 字符串(String) - 字符串方法(一)

字符串查找方法

charAt()

  • 返回指定位置的字符
  • 字符串中第一个字符的下标是 0。
  • 如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串
1
2
var str="Hello world!"
console.log(str.charAt(1)) // 结果e

charCodeAt()

  • 返回在指定的位置的字符的 Unicode 编码。
  • 这个返回值是 0 - 65535 之间的整数
  • 字符串中第一个字符的下标是 0。
  • 如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN
1
2
3
var str="Hello world!"
console.log(str.charCodeAt(1)) // 101
console.log(str.charAt(1)) // 下标 1

TIP

  • charCodeAt() 返回的是位于指定位置的字符的编码, charAt() 方法返回的是字符子串
  • 特殊情况charAt()返回的是空字符串,charCodeAt() 返回的是Nan

fromCharCode()

  • 接受一个指定的 Unicode 值,然后返回一个字符串
  • 方法是 String 的静态方法,字符串中的每个字符都由单独的 Unicode 数字编码指定
1
2
3
var n = String.fromCharCode(72,69,76,76,79);

console.log(n) //HELLO

字符串位置方法

indexOf()

  • 返回某个指定的字符串值在字符串中首次出现的位置,即使是多次出现,也返回第一次出现的位置
  • 找不到,返回-1
  • str.indexOf(searchvalue,fromindex)
  • 参数:
    • 参数searchvalue:需要检索的字符串
    • 参数fromindex:
      • 可选
      • 规定在字符串中开始检索的位置。
      • 它的合法取值是 0 到 stri.length - 1。
      • 如省略该参数,则将从字符串的首字符开始检索。
1
2
3
var arr = 'hello world ! world'
console.log(arr.indexOf('world')) // 6 只返回第一次出现的位置
console.log(arr.indexOf('World')) // -1

TIP

  • indexOf() 方法对大小写敏感,区分大小写
  • 如果要检索的字符串值没有出现,则该方法返回 -1,number类型的 -1

lastIndexOf()

  • 返回一个指定的字符串值最后出现的位置
  • 在指定位置从后向前搜索
  • str.lastIndexOf(searchvalue,fromindex)
  • 参数:
    • searchvalue
      • 需要检索的字符串
    • fromindex
      • 可选
      • 规定在字符串中开始检索的位置。
      • 它的合法取值是 0 到 stringObject.length - 1。
      • 如省略该参数,则将从字符串的最后一个字符处开始检索。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var arr = 'abcb'
console.log(arr.length) // 4
console.log(arr.lastIndexOf('b')) // 3 返回的下标是从左向右的
console.log(arr.lastIndexOf('b',0)) // -1
console.log(arr.lastIndexOf('b',1)) // 1
console.log(arr.lastIndexOf('b',2)) // 1
console.log(arr.lastIndexOf('b',3)) // 3
console.log(arr.lastIndexOf('b',4)) // 3

var arr = 'abcbc'
console.log(arr.length) // 5
console.log(arr.lastIndexOf('bc')) // 3 返回的下标是从左向右的
console.log(arr.lastIndexOf('bc',0)) // -1
console.log(arr.lastIndexOf('bc',1)) // 1
console.log(arr.lastIndexOf('bc',2)) // 1
console.log(arr.lastIndexOf('bc',3)) // 3
console.log(arr.lastIndexOf('bc',4)) // 3

TIP

  • fromindex取值是从左向右,正常0到length开始的
  • 如果是获取一个字符串(而不是单个字符),fromindex位置如果是获取字符串所占用的索引,就能获得数据
  • 比如上面在abcbc中搜索bc,输入1,1其实是abcbc中第一个bc的b占的位置,这时,就可以获取到从右向左第一个bc的位置了
支付宝打赏 微信打赏

赞赏是对我们的肯定!