字符串常用方法

418 阅读2分钟

是否包含

includes(是否包含)

str.includes("xxx")

startsWith(开头是否包含)

// 是否是xxx开头
str.startsWith('xxx')

endsWith(结尾是否包含)

// 是否是.txt结尾
str.endsWith('.txt')

查找索引

indexof(从头开始找)

/* 字符/字符串处在str中的位置(索引值),没找到返回-1
  参数二: 从索引4开始往右找(不写默认从0开始)
*/
str.indexof(字符/字符串, 4)

lastIndexof(从尾开始找)

// 从后往前找
str.lastIndexof(字符/字符串)

替换

replace(替换部分字符)

// 将替换的内容替换部分原字符,原字符串不变
let str1 = str.replace(部分原字符, 替换的内容)
// 返回替换后的字符串(只替换匹配到的第一个)
let str1 = str.replace(/正则表达式/, 替换的内容);
// 返回替换后的字符串(替换匹配到的所有)
let str1 = str.replace(/正则表达式/g, 替换的内容);
// 返回替换后的字符串(m: 表示匹配到的每一个)
let str1 = str.replace(/正则表达式/g, m => m.toLowerCase());

分割

split(分割成数组)

// 按空格分隔字符串到数组arr中,4表示取前四个(可不写参数二)
let arr = str.split(" ", 4)

正则匹配

match(正则匹配)

// 匹配单个,返回第一个匹配到的
str.match(/正则表达式/);
// 加个g,表示全部匹配,返回一个数组
// 字符串.matchAll(/正则表达式/);
str.match(/正则表达式/g);
// i: 忽略大小写,返回第一个匹配到的
str.match(/正则表达式/i);
// gi: 忽略大小写,并全部匹配
str.match(/正则表达式/gi);

matchAll(全部匹配)

// 返回一个数组
str.matchAll(/正则表达式/);

大小写转换

toLowerCase(全部转小写)

let str1 = str.toLowerCase()

toUpperCase(全部转大写)

let str1 = str.toUpperCase()

去空格

trimStart(去前面空格)

let str1 = str.trimStart()

trimEnd(去后面空格)

let str1 = str.trimEnd()

trim(去两边空格)

let str1 = str.trim()

补全

padStart(开头补全)

'xxx'.padStart(7, 'ab') // 'ababxxx'
'xxx'.padStart(6, 'ab') // 'abaxxx'
'xxx'.padStart(2, 'ab') // 'xxx'
'x'.padStart(4) // '   x'(无参数二,使用空格补全)

padEnd(末尾补全)

'xxx'.padEnd(7, 'ab') // 'xxxabab'
'xxx'.padEnd(6, 'ab') // 'xxxaba'
'xxx'.padEnd(2, 'ab') // 'xxx'
'x'.padEnd(4) // 'x   '(无参数二,使用空格补全)

截取

slice(截取部分字符)

// 截取3~5位置的字符串
let str1 = str.slice(3, 6)

substr(截取部分字符)

// 截取3~8位置的字符串,6表示6个(不写6则截取到最后)
let str1 = str.substr(3, 6)