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"]