js字符串中的indexOf()、lastIndexOf()、search()的区别
indexOf(参数1,参数2);
- indexOf() 方法返回字符串中指定文本首次出现的索引(位置);
- 第一个参数是要查找的字符串,第二个参数是从哪个位置开始查询,第二个参数不是必须的,如果不填第二个参数,默认从开头查找;
- 如果没有在指定字符串中找到字符串,则返回-1;
例子:
var str = "I like to eat apples bananas and pears, especially apples.";
var index = str.indexOf("apples");
console.log("result:"+index);;
result:14
var str = "I like to eat apples bananas and pears, especially apples.";
var index = str.indexOf("apples",4);
console.log("result:"+index);
result:14
var str = "I like to eat apples bananas and pears, especially apples.";
var index = str.indexOf("grape");
console.log("result:"+index);
result:-1
lastIndexOf(参数1,参数2);
- lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引:
- lastIndexOf()方法的参数与indexOf()一样,不过lastIndexOf() 方法向后进行检索(从尾到头),假如第二个参数是 50,则从位置 50 开始检索,直到字符串的起点。
- 如果没有在指定字符串中找到字符串,同样返回-1;
例子:
var str = "I like to eat apples bananas and pears, especially apples.";
var index = str.lastIndexOf("apples");
console.log("result:"+index);
result:51
var str = "I like to eat apples bananas and pears, especially apples.";
var index = str.lastIndexOf("apples",48);
console.log("result:"+index);
result:14
var str = "I like to eat apples bananas and pears, especially apples.";
var index = str.lastIndexOf("grape");
console.log("result:"+index);
result:-1
search(参数)
- search() 方法搜索特定值的字符串,并返回匹配的位置;
- search() 方法没有第二个参数;
- search() 方法支持更强大的搜索值(正则表达式);
- 如果没有在指定字符串中找到字符串,同样返回-1;
例子:
var str = "I like to eat apples bananas and pears, especially apples.";
var index = str.search("apples");
console.log("result:"+index);
result:14
var str = "I like to eat apples bananas and pears, especially apples.";
var index = str.search("grape");
console.log("result:"+index);
result:-1
var str = "I like to eat apples bananas and pears, especially apples.";
var index = str.search("a(.*)s");
console.log("result:"+index);
//查找的位置没有带空格
result:11