# 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。如果没有找到任何匹配的子串,则返回 -1
  • charAt() 返回在指定位置的字符
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,'停息')); //码不停息