• Qt中indexOf()和lastIndexOf()查找字符串位置


     
     
    首页 » JavaScript » indexOf()和lastIndexOf()查找字符串位置 indexOf()和lastIndexOf()查找字符串位置 发表于 2011-10-05 由 admin
     
    有两个可以从字符串中查找子字符串的方法:indexOf()和lastIndexOf()。这两个方法都是从一个字符串中搜索给定的字符串,然后返回子字符串的位置(如果没有子字符串的位置,则返回-1)。这两种的方法的区别在于:indexOf()方法从字符串的开头向后搜索字符串,而lastIndexOf()方法是从字符串的末尾向前搜索子字符串。
    var stringValue = "hello world" ; alert ( stringValue . indexOf ( "o" )); //4 alert ( stringValue . lastIndexOf ( "o" )); //7
     
    子字符串“o”第一次出现的位置是4,即“hello”中的“o”;最后一次出现的位置是7,即“world”中的“o”。如果“o”在这个字符串中只出现了一次,那么indexOf()和lastIndexOf()会返回相同的位置值。
     
    这两种方法都可以接受可选的第二个参数,表示从字符串中的哪个位置开始搜索。换句话说,indexOf()会从该参数指定的位置向后搜索,忽略该位置之前的所有字符;而lastIndexOf()则会从指定的位置向前搜索,忽略该位置之后的所有字符。看下面的例子:
    var stringValue = "hello world" ; alert ( stringValue . indexOf ( "o" , 6 )); //7 alert ( stringValue . lastIndexOf ( "o" , 6 )) //4
     
    在将第二个参数6传递给这两个方法之后,得到了与前面例子相反的结果。这一次,由于indexOf()是从位置6(字母“w”)开始向后搜索,结果在位置7找到了“o”,因此它返回7。而lastIndexOf()是从6开始向前搜索,结果找到了“hello”中的“o”,因此它返回4。在使用第二个参数的情况下,可以通过循环调用indexOf()或lastIndexOf()来找到所有匹配的子字符串,如下面的例子所示:
    var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit" ; var positions = new Array (); var pos = stringValue . indexOf ( "e" ); while ( pos > - 1 ) {     positions . push ( pos );     pos = stringValue . indexOf ( "e" , pos + 1 ); } alert ( positions ); //"3,24,32,35,52"
     
    这个例子不断增加indexOf()方法开始查找的位置,遍历了一个长字符串。在循环之外,首先找到了“e”在字符串中的初始位置;而进入循环后,则每次都给indexOf()传递上一次的位置加1。这样,就确保了每次新搜索都从上一次找到字符串的后面开始。每次搜索返回的位置一次被保存在数组positions中,以便将来使用。
     
     
    Related posts:
    String 类型
    charAt()和charCodeAt()获取字符串特定字符
    concat()、slice()、substr()和substring()
    JavaScript push()和pop()方法
    JavaScript shift()和unshift()方法
    此文章发表在 JavaScript 标签为 引用类型 . 将 固定链接 加入收藏.
     
    阅读最多 更多>>
    navigator.onLine 离线检测
    localeCompare()方法
    HTML5中用canvas绘制径向渐变
    跨浏览器确定窗口大小
    cookie的成分
    JavaScript插入动态脚本
    clientX与clientY确定客户区…
    JavaScript惰性载入函数
    HTTP头部信息




  • 相关阅读:
    python笔记1
    git笔记
    手撸一个简陋直播系统
    spring-boot学习笔记1
    设计模式1--简单工厂模式
    网联:第一章:浏览器生成消息
    php线上预览日志--4.websocket客户端
    php线上预览日志--3.websocket服务部署
    php线上预览日志--2.谷歌插件开发
    php线上预览日志--1.概述
  • 原文地址:https://www.cnblogs.com/superit/p/3837635.html
Copyright © 2020-2023  润新知