# Javascript 字符串操作总结
# 字符串截取
# 三S大法 + match()
substring(start,end)它可以接收两个参数(参数不能为负值),分别是要截取的开始位置和结束位置,它将返回一个新的字符串,其内容是从start处到end-1处的所有字符slice(start,end)和substring方法类似,区别是slice()中的参数可以为负值,如果参数是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符substr(start,end)方法可在字符串中抽取从start下标开始的指定数目的字符。其返回值为一个字符串,包含从 stringObject的start(包括start所指的字符)处开始的length个字符。如果没有指定 length,那么返回的字符串包含从start到stringObject的结尾的字符。另外如果start为负数,则表示从字符串尾部开始算起。match()match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置
const str = '码不停息专注前端';
// console.log(str.substring(0,4),str); // 码不停息 码不停息专注前端
// console.log(str.slice(0,-4),str); // 码不停息 码不停息专注前端
// console.log(str.substr(1),str) //不停息专注前端
const str2 = '码不停息专注前端123';
console.log(str2.match(/\d+/g)) //123
# 字符串转化
# 大小写转化
toLowerCase()大写转化为小写toUpperCase()小写转化为大写
const str = 'abc ABC';
console.log(str.toLowerCase()) //abc abc
console.log(str.toUpperCase()) //ABC ABC
# 字符串转化为数组
split()
const str = '码不停息'
console.log(str.split('')) //["码", "不", "停", "息"]
# 字符串查找
indexOf()检索字符串。indexOf() 方法对大小写敏感!includes()返回布尔值,表示是否找到了参数字符串。大小写敏感!startsWith()返回布尔值,表示参数字符串是否在原字符串的头部。endsWith()返回布尔值,表示参数字符串是否在原字符串的尾部。search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。要执行忽略大小写的检索,请追加标志 i。如果没有找到任何匹配的子串,则返回 -1charAt()返回在指定位置的字符
const str = "码不停息aBC";
console.log(str.indexOf('b'),str.indexOf('马')); // -1 -1
console.log(str.search(/码/)); //0
console.log(str.search(/bc/i)); // 5
console.log(str.includes('不')) // true
console.log(str.startsWith('码'),str.startsWith('不')) // true false
console.log(str.endsWith('C'),str.endsWith('不')) // true false
console.log(str.charAt(0))//码
# 字符串替换
replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
const str="abc Def!"
console.log(str.replace(/abc/, "CBA"))//CBA Def!
# 字符串拼接
+号拼接concat()链接padStart(),padEnd()ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全
const str = '码不';
console.log(str + '停息'); //码不停息
console.log(str.concat('停息')); //码不停息
console.log(str.padStart(4,'停息')); //停息码不
console.log(str.,padEnd(4,'停息')); //码不停息