当前位置: 首页 > news >正文

js 重新梳理 1:indexOf与serch 的区别

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更省资源。

 

文章转载于http://tieba.baidu.com/p/1620860979

转载于:https://www.cnblogs.com/lift-jt/p/4271942.html

相关文章:

  • 继承重载重写多态
  • OpenFire源码学习之二十六:SparkTinder
  • C#抓取网页数据分析
  • POJ 3301
  • 几个常用Request.ServerVariables的中文
  • CodeForces 132C 一道简单 dp
  • 详解C#正则表达式语法的相关规则
  • PHP-cli简介
  • 致创业者的一封信(转)
  • DOM(转)
  • 修改文件注册数据库连接配置,可不在Net Manager里配置
  • Apache+Mod_Python配置
  • 【BestCoder】【Round#29】
  • struts2Demo
  • 总有一款合适你--ARM下裸机开发环境大全
  • golang 发送GET和POST示例
  • Laravel 菜鸟晋级之路
  • Lsb图片隐写
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Phpstorm怎样批量删除空行?
  • 关于Java中分层中遇到的一些问题
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 聊聊flink的TableFactory
  • 聊聊redis的数据结构的应用
  • 如何解决微信端直接跳WAP端
  • 【云吞铺子】性能抖动剖析(二)
  • #define与typedef区别
  • #Linux(Source Insight安装及工程建立)
  • #NOIP 2014# day.2 T2 寻找道路
  • (BFS)hdoj2377-Bus Pass
  • (k8s中)docker netty OOM问题记录
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (转)Unity3DUnity3D在android下调试
  • .dwp和.webpart的区别
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .net分布式压力测试工具(Beetle.DT)
  • .NET开源快速、强大、免费的电子表格组件
  • [20170705]diff比较执行结果的内容.txt
  • [ABC294Ex] K-Coloring
  • [BZOJ 2142]礼物(扩展Lucas定理)
  • [C# 基础知识系列]专题十六:Linq介绍
  • [CF]Codeforces Round #551 (Div. 2)
  • [github全教程]github版本控制最全教学------- 大厂找工作面试必备!
  • [Kubernetes]9. K8s ingress讲解借助ingress配置http,https访问k8s集群应用
  • [leetcode 双指针]
  • [LeetCode] NO. 169 Majority Element
  • [LeetCode]—Longest Palindromic Substring 最长回文子串
  • [pyqt5]pyqt5设置窗口背景图片后上面所有图片都会变成和背景图片一样