字符串
目录1. 字符串搜索
indexOf()
-
indexOf() 方法返回指定文本在字符串中第一次出现(的位置)的索引
如果需要查询最后一次出现的位置,可以使用lastIndexOf()
若未找到文本,则两种方法都返回-1;两种方法都接受第二个参数作为搜索的开始位置
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate", 15) // 返回 7
search()
-
search() 方法在字符串中搜索指定值并返回匹配的位置,与IndexOf()几乎一模一样
-
indexOf()与search()的区别:
- search()方法不能接受第二个起始位置参数
- indexOf()方法不能采用正则表达式
let str = "Please locate where 'locate' occurs!"; str.search("locate") // 返回 7
match()
-
match() 方法根据正则表达式在字符串中搜索匹配项,并将匹配项作为 Array 对象返回。
let text = "The rain in SPAIN stays mainly in the plain"; text.match(/ain/g) // 返回数组 [ain,ain,ain]
includes()
-
如果字符串包含指定值,includes() 方法返回 true
let text = "Hello world, welcome to the universe."; text.includes("world") // 返回 true
startsWith()
-
如果字符串以指定值开头,则 startsWith() 方法返回 true,否则返回 false
如果需要寻找以指定值结尾的字符串,可以使用endsWith()
var text = "Bill Gates"; text.endsWith("Gates") // 返回 true
2. 字符串提取
slice()
-
slice() 提取字符串的某个部分并在新字符串中返回被提取的部分
该方法有两个参数:开始位置,结束位置
如果数值为负,则表示从末尾开始计算索引
var str = "Apple, Banana, Mango"; var res = str.slice(7,13);
substring()
-
类似于slice(),但是无法接受负的索引
var str = "Apple, Banana, Mango"; var res = str.substring(7,13);
substr()
-
类似于slice,但是第二个参数规定被提取部分的长度
var str = "Apple, Banana, Mango"; var res = str.substr(7,6);
charAt()
-
charAt() 方法返回字符串中指定下标(位置)的字符串
var str = "HELLO WORLD"; str.charAt(0); // 返回 H
charCodeAt()
-
charCodeAt() 方法返回字符串中指定索引的字符 unicode 编码
var str = "HELLO WORLD"; str.charCodeAt(0); // 返回 72
split()
-
可以通过
split()
将字符串转换为数组var txt = "a,b,c,d,e"; // 字符串 txt.split(","); // 用逗号分隔 txt.split(" "); // 用空格分隔 txt.split("|"); // 用竖线分隔
3. 字符串替换
replace()
-
replace() 方法用另一个值替换在字符串中指定的值
此方法不会改变调用它的字符串。它返回的是新字符串
默认情况下,只会替换首个匹配项,如需调整为全局,使用正则表达式
g
默认情况下,对大小写敏感,如需调整为不敏感,使用正则表达式
/i
str = "Please visit Microsoft!"; var n = str.replace("Microsoft", "W3School");
toUpperCase()
-
通过 toUpperCase()把字符串转换为大写
如需转换为小写,使用toLowerCase()
var text1 = "Hello World!"; // 字符串 var text2 = text1.toLowerCase(); // text2 是被转换为小写的 text1
trim()
-
trim() 方法删除字符串两端的空白符
var str = " Hello World! "; alert(str.trim());