padStart / padEnd
- 从当前字符串的开头/末尾,用另一个字符串填充当前字符串(如果需要会重复填充),直到达到给定的长度。不会改变原字符串
const str = 'string'
console.log(str.padStart(8, 'juejin')) // 'justring'
console.log(str.padEnd(8, 'juejin')) // 'stringjuejinjuejin'
at
- 获取字符串中某一元素
const str = 'string'
console.log(str.at(2, 'r')) // 'r'
raw
- 获取模板字符串的原始字符串形式——即,替换表达式(例如
${foo})会被替换处理,但转义序列(例如\n)不会被处理。
const filePath = String.raw`C:\desktop`;
console.log(`The file was uploaded from: ${filePath}`); // "The file was uploaded from: C:\desktop"
charAt:
- 作用:获取字符串中指定索引对应的字符
- 参数(@params):n[number]获取字符指定的索引
- 返回值(@return):返回查找的字符
let str = "juejinshequ";
let res = str.charAt(4);
console.log(res);//=>"i"
Tips:如果索引值超出了字符串长度,str[索引]和charAt的区别
let str = "juejinshequ";
str[100];//=>undefined
let res = str.charAt(100);//=>""
charCodeAt:
- 作用:获取对应的ASCII码值
- @params:索引
- @return:对应的ASCII码十进制对应值
let str = "juejinshequ";
let res = str.charCodeAt("j");//=>106
String.fromCharCode(106);//=>"j"
substr,substring,slice实现字符串截取
substr:
- 作用:选中从索引n开始,截取m个字符,m不写截取到末尾,支持负数索引
- @params:n,m(m不能为负数)
- @return:截取的字符串
let str = "juejinshequ";
let res = str.substr(-3,2);//=>"eq"
substring:
subString 和slice 基本都一样,唯一不同在于,subString 不支持负数索引,而slice支持负数索引
slice:
- 作用:查找从索引n开始(包含)到索引m(不包含m)结束的字符,支持负数索引,用字符串长度加上负数索引
- @params:n,m;如果不写m,就是查找到最后;只写n或者不写就是克隆字符串;n和m都可为负数
- @return:截取的字符串
let str = "juejinshequ"
let res = str.slice(-5,-3);//=>"sh"
str.slice();//=>"juejinshequ"
验证字符是否存在:
indexOf(x,y):获取x第一次出现位置的索引,y是控制查找的起始位置索引
lastIndexOf(x):最后一次出现位置的索引
=>没有这个字符,返回的结果是-1
- 作用:获取字符在字符串中首次/最后一次出现的索引
- @params:字符/索引
- @return:索引值/-1(字符串中不包含此字符)
let str = "juejinshequ";
str.indexOf('jin');//验证整体第一次出现的位置,返回的索引是第一次字符所在的位置索引值
=>"3"
str.indexOf('u',4);//查找字符串索引4及之后的字符串中,u第一次出现的位置索引
=>"10"
includes:
- 作用:检测字符串中是否含有检测内容
- @params:任意字符
- @return:ture/false
let str = "juejinshequ";
let res = str.includes("u");//=>ture
字符串中字母的大小写转换
toUpperCase():转大写 toLowerCase():转小写
- 作用:转为大写或者小写
- @params:无
- @return:大写或者小写的字符
let str = "jueJINshequ";
let res = str.toUpperCase();//=>JUEJINSHEQU
split:
- 作用:字符串按照分割符,转换为数组,支持正则
- @params:分割符
- @return:分割后的数组
var str="2018 8 18";
var res=str.split(" ")//["2018","8","18"]
replace:
- 作用:(老字符,新字符)实现字符串替换
- @params:要替换的字符(可以跟正则),替换的字符
- @return:替换之后的字符
var str = "juejinshequ";
var res = str.replace(/j/g,"Z");//=>ZueZinshequ
trim(trimLeft、trimRight):
- 作用:去除字符串的头尾空格
- @params:无
- @return:除头尾空格的字符串
match:
- 作用:可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配
- @params:规定要检索的字符串值/正则
- @return:存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。
let str="Hello world!"
console.log(str.match("world"));//world
console.log(str.match("World"));//null
let str="1 plus 2 equal 3"
console.log(str.match(/\d+/g));//["1", "2", "3"]