博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Js中 字符串函数indexOf与search的区别
阅读量:5230 次
发布时间:2019-06-14

本文共 750 字,大约阅读时间需要 2 分钟。

转载自 http://blog.sina.com.cn/s/blog_ae40e7350102wnrs.html

 

IndexOf()方法是用来判断一个字符串是否存在于一个更长的字符串中。从长字符串左端到右端来搜索,如果存在该子字符串就返回它所处的位置(即索引)。如果在被搜索的字符串没有找到要查找的字符串返回-1。注意,这里的位置应当填写索引值。所有的字符串索引都是从零开始,第一个字符的位置就是0,终点位置就是字符串的长度减去1。

该方法等价于C语言中的strstr函数及Visual Basic语言中的inStr函数。这个方法也有一个相应的函数,即lastIndexOf(),从长字符串的右端搜索。
那么问题来了,search()方法也是同样返回目标自字符串索引值的。indexOf()和search()有什么区别呢?为什么时候该使用它,什么时候该使用search()这个方法呢?
首先要明确search()的参数必须是正则表达式,而indexOf()的参数只是普通字符串。indexOf()是比search()更加底层的方法。
如果只是对一个具体字符串来查找,那么使用indexOf()的系统资源消耗更小,效率更高;如果是查找具有某些特征的字符串(比如查找以a开头,后面是数字的字符串),那么indexOf()就无能为力,必须要使用正则表达式和search()方法了。
很多时候用indexOf()不是为了真的想知道子字符串的位置,而是想知道长字符串中没有包含这个子字符串。如果返回索引值是-1,那么说明没有:不等于-1,那么就是有。
所以一般情况下indexOf比search更省资源。

转载于:https://www.cnblogs.com/danyun-lu/p/7144773.html

你可能感兴趣的文章
Exchange Server and Update Rollup Build Numbers
查看>>
计蒜客 ACM竞赛高校联盟训练赛 第8场 煎牛排
查看>>
使用jquery获取url以及jquery获取url参数的方法
查看>>
方法重载
查看>>
cocos2dx混合模式应用
查看>>
[转]Windows上搭建Kafka运行环境
查看>>
第二次学习
查看>>
Andriod中绘(画)图----Canvas的使用详解
查看>>
144. Binary Tree Preorder Traversal
查看>>
28. Implement strStr()
查看>>
XS128超声波程序
查看>>
一个UUID生成算法的C语言实现——WIN32版本
查看>>
关于yarn安装,这里做一个备份
查看>>
自定义控件(视图)2期笔记11:View的滑动冲突之 概述
查看>>
tb连续aaaaa123aaa自适应
查看>>
i am so happy
查看>>
CSS预编译语言-LESS
查看>>
xml基础之二(XML结构【1】)
查看>>
C# 防止同一个账号多次登录(cache方法)
查看>>
WPF之Binding
查看>>