传统上,Javascript只要indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6又提供了三种新方法。
includes()
返回布尔值,表示是否找到了参数字符串
let a = "Hello world";
a.includes('o') //true
第二个参数:表示开始搜索的位置
console.log(a.includes('o',9)) //false
startsWith()
返回布尔值,表示参数字符串是否在原字符串的头部
let a = 'Hello world!';
console.log(a.startsWith('H')) // true 区分大小写
// 第二个参数:表示开始搜索的位置
console.log(a.startsWith('H', 2)) // false
endsWith()
返回布尔值,表示参数字符串是否在原字符串的尾部
let a = 'Hello world!';
console.log(a.endsWith('!')) // true
// 第二个参数:表示开始搜索的位置
console.log(a.endsWith('!', 11)) // false
这三个方法都支持第二个参数,表示开始搜索的位置
replaceAll()
字符串的实例方法replace()只能替换第一个匹配
var str1 = "你好,最编程!你好,程序员!";
var a = str1.replace("你好", "hi");
console.log(a) // hi,最编程!你好,程序员!
replaceAll()可以一次性替换所有匹配
var str1 = "你好,最编程!你好,程序员!";
var a = str1.replaceAll("你好", "hi");
console.log(a) // hi,最编程!hi,程序员!
repeat()
repeat方法返回一个新字符串,表示将原字符串重复n次
参数如果是小数,会被取整,注意不是四舍五入
参数如果是负数或者Infinity(无穷大),会报错
trimStart(),trimEnd()
trimStart():消除字符串头部的空格
trimEnd():消除字符串尾部的空格