indexOf()函数查找子字符串
indexOf()函数是JavaScript中非常常用的字符串函数之一,它用来查找一个字符串中特定子字符串的 个位置。该函数返回一个整数值,该值表示所查找字符串在原字符串中的起始位置。
语法:
string.indexOf(searchValue, fromIndex)
参数:
? searchValue:要查找的子字符串。
? fromIndex:从哪个索引位置开始查找,默认是从0开始。
返回值:
? 如果找到指定的子字符串,则返回 个匹配项的索引
? 如果没有找到指定的子字符串,则返回-1
举例:
var str = "Hello, world!";
var n = str.indexOf("world");
console.log(n); // 输出7
上面的代码中,我们定义了一个字符串变量str,然后调用了indexOf()函数查找其中的"world"子字符串的索引值,并将其输出。在这个例子中,我们得到了7这个数字,这是因为"world"这个子字符串在原字符串中的位置正是从第7个字符开始。
当然,indexOf()函数也允许我们设置起始查找位置,如下所示:
var str = "Hello, world!";
var n = str.indexOf("o", 5);
console.log(n); // 输出8
上面的代码中,我们将起始查找位置设置为5,表示从第6个字符开始查找。在原字符串中,"o"这个字符 次出现的位置是在第8个字符处,因此我们得到了数字8。如果我们将起始查找位置设置为10,即超出了字符串长度,则会返回-1。
下面再举几个例子,来看看如何使用indexOf()函数查找子字符串。
1. 判断字符串中是否包含某个子字符串
var str = "Hello, world!";
if (str.indexOf("lo") != -1) {
console.log("字符串中包含'lo'子字符串!");
}
上面的代码中,我们先使用indexOf()函数查找"lo"这个子字符串的位置,如果返回值不为-1,则表示原字符串中包含该子字符串,我们就输出相应的信息。
2. 查找所有出现的子字符串位置
var str = "Hello world, welcome to the world of JavaScript!";
var n = str.indexOf("world");
while (n != -1) {
console.log(n);
n = str.indexOf("world", n + 1);
}
上面的代码中,我们在原字符串中不停地查找"world"子字符串,直到找不到为止。每次找到后,我们输出它在原字符串中的位置,并且将查找起始位置移动到下一个位置,这样就可以继续查找下一个子字符串了。在这个例子中,我们会输出两个数字,分别代表"world"在原字符串中出现的两个位置。
总结:
indexOf()函数是JavaScript中用来查找子字符串的常用函数,它可以帮助我们轻松地实现许多字符串处理功能。在使用该函数时,我们需要注意设置起始查找位置和判断返回值是否为-1,以免出现错误。
