indexOf 和 lastIndexOf 使用
2024-08-27 03:23:30
indexOf 的用途是在一个字符串中寻找一个字的位置
lastIndexOf 也是找字 , 它们俩的区别是前者从字符串头开始找,后者是从字符串末端开始找。
一但指定的字被找到,就会返回这个字的当前的位置号码。如果没有找到就返回 -1.
var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.indexOf("/")); //
console.log(str.lastIndexOf("/")); //
参数1是要寻找的字,必须是str,正则不行哦。
此外它还接受第2个参数。Number类型, 这个让我们可以指定寻找的范围。
var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.indexOf("/", 0)); //0 默认情况是 0
console.log(str.lastIndexOf("/", str.length)); //39 默认情况是 str.length
两个方法的控制是不同方向的 。
假设 indexOf 设置 10 , 那么查找范围是 从10到str.length(字末)
lastIndexOf 设置 10 的话 , 查找范围会是 从10到 0 (字首)
这个要注意了。
ps : 设置成负数比如 -500 ,会有奇怪现象,我自己搞不懂 = = " ;
有时我们会希望指定找第n个.那么我们就通过上面的方法来实现了。
比如 :
String.prototype.myIndexOf = function (searchValue, startIndex) {
var text = this;
startIndex = startIndex || 1;
var is_negative = startIndex < 0;
var ipos = (is_negative) ? text.length + 1 : 0 - 1;
var loopTime = Math.abs(startIndex);
for (var i = 0; i < loopTime ; i++) {
ipos = (is_negative) ? text.lastIndexOf(searchValue, ipos - 1) : text.indexOf(searchValue, ipos + 1);
if (ipos == -1) break;
}
return ipos;
} var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.myIndexOf("/", 3)); //
console.log(str.myIndexOf("/", -2)); //25 倒数第2个的位置
最新文章
- 我的runloop学习笔记
- Asp.net WebPages框架运行原理浅析(转)
- NetCFSvcUtil.exe and Windows 7
- Android学习第八弹之改变状态栏的颜色使其与APP风格一体化
- Windows程序设计-窗口和消息
- redhat 下Redis安装
- Php 输出语句
- JS判断设备终端(PC,iPad,iPhone,android,winPhone)和浏览器
- (转) Class
- Maven使用-创建一个Web项目
- C++入门篇十一
- pip install psycopg2出现python setup.py egg_info failed with error code 1 in /tmp/pip-build-YtLeN3/psycopg2错误处理
- vue全局组件-父子组件传值
- 微信小程序记账本进度七
- Centos6.5安装中文支持和中文输入法---VIM编辑器中文支持
- Spring标签之Bean @Scope
- Visual Studio 2019 Serial Keys
- DB2日志清理
- vmstat工具
- gulp教程之gulp中文API
热门文章
- 线性表(gcc实现)
- Jenkins配置Java项目1(Java+Maven+Tomcat)
- Oracle 数据库基本操作——表操作:查询
- JSP元素和标签
- AFNetworking (3.1.0) 源码解析 <;三>;
- Appcelerator Titanium 3.x Win7 64位平台安装步骤
- JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例
- Android 带你玩转实现游戏2048 其实2048只是个普通的控件(转)
- 小学生之JAVA中的分层
- java transient关键字和transaction的区别