charAt()方法

  • 描述
    调用字符串的charAt(index)方法,可以获取指定索引位置的字符,其中index为字符串的索引号
  • 案例
let message="abcdef"
console.log(message.charAt(1)) //输出"a"

concat()方法

  • 描述
    将一个或者多个字符串拼接成新的字符串,但是并不会改变原始值,所以需要定义一个变量接收新值,此外concat可以传递多个参数,依次将传入的参数拼接起来。
  • 案列
let stringValue="hello "
let result=stringValue.concat("world","!")
console.log(result) //输出:hello world!
  • 拓展
    字符串连接操作更常用的方式是用+号连接起来。

提取子字符串的方法

slice()方法

  • 描述
    slice(startIndex,endIndex)方法有两个参数,第一个参数是子字符串开始的位置,第二个参数指子字符串结束的位置(该位置之前会被提取出来),如果第二个参数省略默认提取到字符串的末尾。当传入的参数为负时,startIndex和endIndex会在原有基础上加上父字符串的长度,即startIndex=stargIndex+length,endIndex=endIndex+length。
  • 案例
let stringValue="hello world"
console.log(stringValue.slice(3)) //"lo world"
console.log(stringValue.slice(-3)) //"rld"

substring()方法

  • 描述
    substring(startIndex,endIndex)方法和slice方法一样,startindex和endIndex代表的意义相同,如果第二个参数省略默认也是提取到父字符串的末尾。但是当传入的参数为负时,所有传入的参数都变为0。
  • 案列
let stringValue="hello world"
console.log(stringValue.substring(3)) //"lo world"
console.log(stringValue.substring(-3)) //"hello world"

substr()方法

  • 描述
    substr(startIndex,Num)方法第一个参数startIndex代表提取的开始位置,第二个参数Num代表提取子字符串的个数。当传入的参数值为负时,startIndex变为startIndex+length,第二个参数Num变为0。
  • 案列
let stringValue="hello world"
console.log(stringValue.substr(3,7)) //"lo worl"
console.log(stringValue.substr(3,-4))// ""空的

获取字符串的位置方法

indexOf()方法

  • 描述
    indexOf(char,index)方法中第一个参数char是指定搜索的字符,第二个参数是开始搜索的位置,省略默认为字符串起始位置。该方法的作用是:从头开始搜索指定字符并返回字符串中第一次出现char字符的位置索引,当查找不到返回-1。
  • 案列
let stringValue="hello world"
console.log(stringValue.indexOf('o')) //4

lastIndexOf()方法

  • 描述
    lastIndexOf(char,index)方法中的两个参数与indexOf两个参数代表相同的意义,第二个参数省略默认为字符串起始位置。但是该方法的作用是搜索指定字符并返回字符串中最后一次出现char字符的位置索引,当查找不到返回-1。
  • 案列
let stringValue="hello world"
console.log(stringValue.indexOf('o')) //7
  • 拓展
    利用indexOf中第二个参数index可以实现:在字符串中查找所有目标的子字符串。
let stringValue="lot age foo tool"
let positions=new Array()
let pos=stringValue.indexOf('o')
while(pos>-1){
positions.push(pos)
pos=stringValue.indexOf('o',pos+1)
}

字符串的包含方法

startsWith()方法

  • 描述
    startsWith(value,index)方法中第一个参数是指要匹配的内容,第二个参数index是指匹配的位置,省略默认为0,该方法的作用是查找指定位置向后搜索,若查找到返回true否则返回false。
  • 案列
let message="foobarbaz"
console.log(message.startsWith("foo")) //true
console.log(message.startsWith("foo",1)) //false

endsWith()方法

  • 描述
    endsWith(value,index)方法中两个参数代表的意义同startsWith方法,该方法的作用是从指定位置向前搜索,若查找到返回true否则返回false。
  • 案列
let message="foobarbaz"
console.log(message.endsWith("baz")) //true
console.log(message.endsWith("bar",6)) //false

includes()方法

  • 描述
    includes(value)方法中参数value代表要查找的字符串,该方法会全局查找匹配的字符串,若查找到则返回true,否则返回false。
  • 案列
let message="foobarbaz"
console.log(message.includes('foo')) //true

trim()方法

  • 描述
    该方法会创建字符串的一个副本,删除前后的所有空格符,再返回结果
  • 案列
let stringValue=" hello world "
console.log(stringValue.trim()) //"hello world"

此外trimLeft()和trimRight()方法分别用于从字符串开始和末尾清理空格符。

  • 拓展
    trim()方法只能清除字符串的首位空格符,那么清理字符串中的所有空格,需要使用replace()方法+正则表达式清除所有空格字符。

代码:

str = str.replace(/\s*/g,"");

repeat()方法

  • 描述
    该方法用于接收整数参数,表示将字符串复制多少次。
  • 案列
let stringValue="aa"
stringValue.repeat(2) //"aaaa"

字符串填充字符的方法

padStart()方法

  • 描述
    padStart(num,value)方法中有两个参数,第一个参数num指向开头填充的字符数量,第二个参数value指填充的字符。该方法的作用就是向字符串开头填充字符,当字符串长度小于指定num则进行填充,如果大于指定的num则不进行填充。
  • 案列
let stringValue="foo"
console.log(stringValue.padStart(9,".")) //"......foo"

padRight()方法

  • 描述
    padEnd(num,value)方法中的参数也有两个,第一个参数num指向末尾填充的字符数量,第二个value指填充的字符。该方法的作用就是向字符串末尾填充字符,当字符串长度小于指定num则进行填充,如果大于指定的num则不进行填充。
  • 案列
let stringValue="foo"
console.log(stringValue.padEnd(9,".")) //"foo......"

字符串的迭代与解构

字符串的迭代

  • 描述
    字符串的迭代即遍历字符串中的每个字符
  • 遍历代码
for(const c of "abcde"){
console.log(c)
}
//a b c d d 

字符串的解构

  • 描述
    当有迭代之后,字符串就可以通过解构操作符来解构,比如可以方便的把字符串分割成字符数组
  • 代码
let message="abced"
console.log([...message]) //["a","b","c","e","d"]

字符串的大小写转换

  • 描述
    字符串的大写转换方法为:toUpperCase()方法和toLocaleUpperCase()方法。

字符串的小写转换方法为:toLowerCase()方法和toLocaleLowerCase()方法。

字符串的模式匹配方法

match()方法

  • 描述
    match()方法接收一个参数,可以是正则表达式字符串,也可以是RegExp对象。
  • 案列
let text="cat,bat,sat,fat"
let pattern=/.at/
let matches=text.match(pattern)
console.log(maches.index) //0 ---匹配的子字符串所在索引位置
console.log(matches[0]) //"cat" ---与整个模式匹配的字符串

match()方法返回的数组第一个元素是与整个模式匹配的字符串,其余元素则是表达式中的捕获组匹配的字符串(如果有的话)

search()方法

  • 描述
    该方法与match()方法不一样的是该方法返回的是模式第一个匹配的位置索引,如果没有则返回-1。search()始终从字符串开头向后匹配模式。
  • 案列
let text="cat,bat,sat,fat"
let pos=text.search(/at/)
console.log(pos) //1

这里返回1指at第一次出现的位置

replace()方法

  • 描述
    replace()方法有两个参数,第一个参数可以是一个RegExp对象或者一个字符串(这个字符串不会转换为正则表达式),第二个参数是一个字符串或者一个函数,如果第一个参数是字符串,那么只会替换第一个子字符串,想替换所有子字符串,第一个参数必须为正则表达式并且带全局标记
  • 代码
let text="cat,bat,sat,fat"
let result=text.replace("at","ond") 
console.log(result) //"cond,bat,sat,fat"
result=text.replace(/at/g,"ond")
console.log(result) //"cond,bond,sond,fond"

split()方法

  • 描述
    该方法可以根据传入的分隔符将字符串拆分成数组。作为分隔符的参数可以是字符串也可以是RegExp对象,还可以传入第二个参数即返回的数组大小。
  • 案列
let cilorText="red,blue,green,yellow"
let color1=colorText.split(",") //["red","blue","green","yellow"]
let color1=colorText.split(",",2) //["red","blue"]
最后修改:2021 年 11 月 10 日
如果觉得我的文章对你有用,请随意赞赏