友友们,今天分享一些字符串的方法~~~
1、字符串:简单数据类型,可以包在单引号,双引号,或者反引号,单引号和双引号用法相同,反引号要通过${}将任何表达式嵌入字符串
2、字符串的方法:
(1)属性:length用来获取字符串的长度
alert( `My\n`.length ); // 3
(2)charAt(索引值):将字符串中把索引对应的字符串取出来
let str = `Hello`;
// 第一个字符
alert( str[0] ); // H
alert( str.charAt(0) ); // H
// 最后一个字符
alert( str[str.length - 1] ); // o
(3)toLowerCase() : 将字母转成小写字母
alert( 'Interface'[0].toLowerCase() ); // 'i'
(4)toUpperCase() : 将字母转成大写字母
alert( 'Interface'.toUpperCase() ); // INTERFACE
(5)substring(start,end):用于字符串截取,分割(两个参数),start(从start索引值开始截取,)end(到end结束的索引值,但end位置截取不到)
let str = "stringify";
// 这些对于 substring 是相同的
alert( str.substring(2, 6) ); // "ring"
alert( str.substring(6, 2) ); // "ring"
// ……但对 slice 是不同的:
alert( str.slice(2, 6) ); // "ring"(一样)
alert( str.slice(6, 2) ); // ""(空字符串)
(6)slice(start,end) : 字符串截取、分割 (两个参数)start(从start索引值开始截取),end(到end结束的索引值,但end位置截取不到)
let str = "stringify";
alert( str.slice(0, 5) ); // 'strin',从 0 到 5 的子字符串(不包括 5)
alert( str.slice(0, 1) ); // 's',从 0 到 1,但不包括 1,所以只有在 0 处的字符
如果没有第二个参数,slice 会一直运行到字符串末尾
let str = "stringify";
alert( str.slice(2) ); // 从第二个位置直到结束
start/end 也有可能是负值。它们的意思是起始位置从字符串结尾计算:
let str = "stringify";
// 从右边的第四个位置开始,在右边的第一个位置结束
alert( str.slice(-4, -1) ); // 'gif'
如果start,和end换位置,substring也可以识别,但slice不可以
(7)substr(start,length):字符串截取,从start索引值开始截取,截取length个
let str = "stringify";
alert( str.substr(2, 4) ); // 'ring',从位置 2 开始,获取 4 个字符
(8)split() 用来将字符串拆分成数组,分割字符串为数组,最终为数组
(9)indexOf():查找字符串中首次出现的字符,返回索引值,找不到返回-1
let str = 'Widget with id';
alert( str.indexOf('Widget') ); // 0,因为 'Widget' 一开始就被找到
alert( str.indexOf('widget') ); // -1,没有找到,检索是大小写敏感的
alert( str.indexOf("id") ); // 1,"id" 在位置 1 处(……idget 和 id)
(10)9、lastIndexOf:查找字符串中尾次出现的字符,返回索引值,找不到返回-1
(11)10、replace:替换:默认替换一次,要想替换多次,配合正则
(12)11、trim:去除字符串两端的空白
(13)replace():替换字符串(缺点无法正常处理大小写问题,解决方法,可以通过配合正则)
(14)incldes():str.includes(substr,pos) 根据 str
中是否包含 substr
来返回 true/false
alert( "Widget with id".includes("Widget") ); // true
alert( "Hello".includes("Bye") ); // false
str.includes 的第二个可选参数是开始搜索的起始位置:
alert( "Midget".includes("id") ); // true
alert( "Midget".includes("id", 3) ); // false, 从位置 3 开始没有 "id"