写给前端小白的入门技术白皮书03-字符串常用方法

94 阅读2分钟

length

字符串长度

let str = 'abcde';
str.length; // 5

indexOf

语法:string.indexOf(searchString, position)

查找字符串中的字符,如果找到返回第一个匹配字符的位置,如果未找到,返回-1

let str = 'abcdebb';
str.indexOf('b'); // 1
str.indexOf('cd'); // 2
str.indexOf('ff'); // -1

// 如果传第二个参数
str.indexOf('b', 3); // 5   从下标3开始查找

trim

去除字符串两头的空格

let str = '   ab  cde   ';
str.trim(); // 'ab  cde'

模板字符串 ``

不需要传统的+去拼接字符串与变量,可以将变量和字符串写在一起,变量用${}包起来,

let a = 'abc';
let b = `123${a}ccc`; // '123abcccc';

slice

语法:string.slice(start, end)

start 开始位置下标必传,end结束位置下标可选(start end都可以为负,为负时与string.length相加)

截取start位置到end位置的字符串(包括start位置的元素,不包括end位置的元素),并返回截取的字符串

let str = 'abcde';
const str1 = str.slice(2); // str1: 'cde', str不变
const str2 = str.slice(-1); // str2: 'e'
const str3 = str.slice(2, 3); // 'c'

substring

语法:string.substring(start, end)

用法和slice一样,只是参数不能为负数。

split

将字符串通过字符串中的选取的一个关键字,拆分成数组

let str = 'hello, world';
str.split(','); // ['hello', 'world']
str.split('o'); // ['hell', 'w', 'rld']

chartAt

语法:string.chartAt(pos)

返回字符串中pos位置处的字符

let str = 'abcde';
str.chartAt(2); // c

search

查找字符串,参数可以为正则表达式, 返回查找到字符的下标,如果未找到 则返回-1

let str = 'abcde';
str.search('b'); // 1
str.search('bc'); // 1
str.search('f'); // -1

let str = 'abcd1234efg';
str.search(/\d/); // 4  下标4开始为数字  \d匹配数字

replace

使用正则匹配字符并替换

let str = 'hello, world';
str.replace('world', 'lily') // 'hello, lily'  world替换成lily
str.replace(/o/, '');   // 把o替换成空字符 'hell, world';  只替换了第一个
str.replace(/o/g, '');   // 把o替换成空字符 'hell, wrld';  加g全文匹配所有的都替换

toLowerCase

将字符全部转成小写的

let str = 'abCDe';
str.toLowerCase(); // abcde

toUpperCase

将字符全部转成大写的