软考
APP下载

js 字符串查找

在开发中字符串操作是极其常见的一种操作,我们需要经常对字符串进行查找、替换等操作。在 JavaScript 中,字符串也是一个基本的数据类型,常用的字符串操作有以下几种方式:indexOf()、lastIndexOf()、startsWith()、endsWith()、includes()等。

在本篇文章中,我们将从多个角度对这些常用的字符串操作方式进行好好分析,帮助开发者更好地掌握字符串的操作。

一、字符串查找

1. indexOf() 方法:该方法是用来查找字符串中指定子串的第一个匹配项的位置。如果没有找到匹配的子串,则返回 -1。

例如:

```

let str = 'Hello World!';

let pos = str.indexOf('World');

console.log(pos); // 6

```

2. lastIndexOf() 方法:该方法与 indexOf() 方法类似,不同之处在于它是从字符串的末尾开始查找指定子串的位置。

例如:

```

let str = 'Hello World!';

let pos = str.lastIndexOf('o');

console.log(pos); // 7

```

3. startsWith() 方法:该方法用来检查字符串是否以特定的子串开头。如果是,则返回 true,否则返回 false。

例如:

```

let str = 'Hello World!';

let startsWithHello = str.startsWith('Hello');

console.log(startsWithHello); // true

```

4. endsWith() 方法:该方法用来检查字符串是否以特定的子串结尾。如果是,则返回 true,否则返回 false。

例如:

```

let str = 'Hello World!';

let endsWithWorld = str.endsWith('World!');

console.log(endsWithWorld); // true

```

5. includes() 方法:该方法用来检查一个字符串是否包含一个特定的子串。如果包含,则返回 true,否则返回 false。

例如:

```

let str = 'Hello World!';

let includesWorld = str.includes('World');

console.log(includesWorld); // true

```

二、正则表达式查找

除了上述方法,我们还可以使用正则表达式对字符串进行匹配。

1. search() 方法:该方法用来查找字符串中指定子串的位置。与 indexOf() 方法类似,不同之处在于它可以接受一个正则表达式作为参数。

例如:

```

let str = 'Hello World!';

let pos = str.search(/world/i);

console.log(pos); // 6

```

2. match() 方法:该方法用来对字符串进行正则表达式的匹配。如果匹配成功,则返回一个数组,否则返回 null。

例如:

```

let str = 'Hello World!';

let matchResult = str.match(/World/i);

console.log(matchResult); // ['World']

```

3. replace() 方法:该方法用来将字符串中的指定子串替换成一个新的字符串。如果指定的子串未被找到,则返回原始字符串。

例如:

```

let str = 'Hello World!';

let newStr = str.replace(/World/i, 'JavaScript');

console.log(newStr); // 'Hello JavaScript!'

```

三、字符串查找总结

在本文中,我们介绍了 JavaScript 中常用的字符串查找方法,通过这些方法,我们可以方便地对字符串进行操作。其中indexOf()和includes()方法返回布尔值,而lastIndexOf()、startsWith()和endsWith()方法则返回数字或布尔值。另外,我们还介绍了正则表达式的相关使用,使用正则表达式可以更加灵活地对字符串进行匹配和替换。

总之,在实际开发中,字符串操作是不可避免的,因此我们需要掌握这些基本的字符串操作技巧,才能更好地完成自己的开发任务。

文章

备考资料 免费领取:软件设计师报考指南+考情分析+思维导图等 立即下载
真题演练 精准解析历年真题,助你高效备考! 立即做题
相关阅读
软件设计师题库