ES6字符串新增

字符串

(1)子串的识别

ES6 之前判断字符串是否包含子串,用 indexOf 方法,ES6 新增了子串的识别方法

  • includes():返回布尔值,判断是否找到参数字符串。
var str="hello,减哈看见"
			console.log(String.prototype)
			var re1=str.includes("减")
			var re2=str.includes(" ")
			var re3=str.includes("")
			console.log(re)
			
  • startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。
  • endsWith():返回布尔值,判断参数字符串是否在原字符串的尾部。
    以上三个方法都可以接受两个参数,需要搜索的字符串,和可选的搜索起始位置索引
var str="182828323410"
			var str2=str.startsWith("81",1)
			var str3=str.endsWith("2341",11)//第二个参数 待研究
			console.log(str2,str3)
			

注意:

  • 这三个方法只返回布尔值,如果需要知道子串的位置,还是得用 indexOf 和 lastIndexOf 。
  • 这三个方法如果传入了正则表达式而不是字符串,会抛出错误。而 indexOf 和 lastIndexOf 这两个方法,它们会将正则表达式转换为字符串并搜索它。
    (2)字符串重复

repeat():返回新的字符串,表示将字符串重复指定次数返回。

	
			var  str="哈哈"
			var  str2=str.repeat(2)
			console.log(str2)
			

**补充:**敏感字符串替换

var  str="再见一次666"
			var  str2="*".repeat(str.length)
			console.log(str2)
			

(3)字符串补全

  • padStart:返回新的字符串,表示用参数字符串从头部补全原字符串。
  • padEnd:返回新的字符串,表示用参数字符串从尾部补全原字符串。

以上两个方法接受两个参数,第一个参数是指定生成的字符串的最小长度,第二个参数是用来补全的字符串。如果没有指定第二个参数,默认用空格填充。


			var str="99"
			var str2=str.padEnd(6,"abc")
			var str3=str.padStart(6,"abc")
			console.log(str2,str3)
			

(4)模板字符串

模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式。

//普通字符串
let string = `Hello'\n'world`;
console.log(string); 

//多行字符串
let string1 =  `Hey,
can you stop angry now?`;
console.log(string1);

//变量名写在 ${} 中,${} 中可以放入 JavaScript 表达式。
let name = "Mike";
let age = 27;
let info = `My Name is ${name},I am ${age+1} years old next year.`
console.log(info);

//字符串中调用函数
function f(){
  return "have fun!";
}
let string2= `Game start,${f()}`;
console.log(string2);  // Game start,have fun!

注意:模板字符串中的换行和空格都是会被保留的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值