slice 、 substr 、replace
slice( 参数1 [,参数2] ) (注意不要让【参数1】下标越过【参数2】下标,否则会得到空字符串,且【参数2】是不包含在截取范围内的)
参数1:截取字符的【起始下标】。
值为正,则找到对应下标 。例如值为 1,则是字符串从第二个字符开始截取,如 “abcd”,slice(1,2) --> "b" ,值为正时,数值是 从 0 开始往后面数;
值为负,则从后面倒数着往前面找起始下标位置。例如值为 -4,则是从字符串倒数第四个数开始进行截取,如 " 123456 " , slice(-4,4) --> "34" ,故当值为负数时,值是从1开始。也就是将参数1取绝对值,然后再依次往前面数个数即可,无需再将参数1的值从 0 开始 。
下图的 str.length 为 17
参数2:截取字符的【结束下标】,此参数为可选,若没有此参数,则从起始下标位置开始,截取到字符串末尾 。
值为正,寻找到对应下标即可,但切记,并不包含当前位置,而是当前位置的前一位下标。例如 "123456" , slice(2,4) ---> “34”
值为负,下标的处理与参数1一样。
var str = "123456";
str.slice(2,-4) ---> ""
解析:因为当【参数2】为 -4 时,找到的是 str 中的字符 “3” ,字符 “3” 所在的下标为 2。但是,因为截取的字符是不包含【参数2】所对应下标的,所以下标需要 减1 。所以值为 -4 时, 所截取的字符变为 从下标2开始截取到下标1 ,这显然是不可能取得值。所以,此时【参数1】 的下标 2,已经越过 【参数2】 的下标 1,故为 空字符串。
str.slice(2,-3) ---> "3"
解析: 而当【参数2】为 -3 时,找到字符 “4” 所在的下标 3,但因为【参数2】没有被包含在截取字符中的特殊性,下标需要 减1,所以实际被截取的结束位置是 下标2 的位置。所以为 -3 ,截取的字符就是 从下标2开始截取到 下标2 的位置,得到字符 “3” 。
substr( 参数1,参数2)
参数1:截取字符串的起始位置,从 0 开始。
值为正,从下标0开始寻找对应下标即可。例如 "123456" , str.substr(4,1); ---> "5"
值为负,将值取绝对值,然后依次往前面数 值的个数即可 。 str.substr(-4,1); ----> “3"
参数2:截取字符的个数。可选,若无此参数,则从起始位置,截取到字符串末尾。不能为负数 。
replace:替换字符(暂不是很明白,只生简略记录下)
replace( 参数1,参数2 )(默认情况只替换匹配到的第一个匹配项,若使用了正则表达式之类的特殊符号,后续记录)
参数1:为原字符中需要替换为新字符的已有的字符
参数2:为需要替换成的新字符
slice 、 substr 、replace的更多相关文章
- php中strstr、strrchr、substr、stristr四个函数的区别总结
php中strstr.strrchr.substr.stristr四个函数的区别总结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-09-22我要评论 这篇文章主要介绍了php ...
- php中strstr、strrchr、substr、stristr四个函数用法区别
php中strstr.strrchr.substr.stristr四个函数用法区别: php中strstr strrchr substr stristr这四个字符串操作函数特别让人容易混淆,常用的是s ...
- bool盲注中用到的截取字符串的函数(mid、substr、left)
介绍一下常用的:mid.substr.left 1.mid()函数 此函数为截取字符串一部分.MID(column_name,start[,length]) 参数 描述 column_name 必需. ...
- 数仓的字符截取三胞胎:substrb、substr、substring
摘要:下面就来给大家介绍这三个函数在字符截取时的一些用法与区别. 本文分享自华为云社区<GaussDB(DWS)中的字符截取三胞胎>,作者:我站在北方的天空下 . 在GaussDB(DWS ...
- js数组与字符串处理 slice、splice、substring、substr、push、pop、shift、reverse、sort、join、split
数组 方法 1.在数组末尾添加.删除元素 push()方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度.改变原数组 pop()方法则从数组末尾移除最后一个元素,减少数组的 ...
- js中的slice()、substring()、substr()、split()、join()、indexof()
在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧 ...
- 浅析字符串操作方法slice、substr、substring及其IE兼容性
在截取字符串时常常会用到substr().substring().slice()方法,有时混淆之间的用法,故总结下. slice() 定义:接受一个或者两个参数,第一个参数指定子字符串的开始位置. ...
- oracle中replace、length、lengthb、substr、substrb函数
1.replacereplace(x,y,z)返回值为将字符串X中的Y串用Z串替换后的结果字符串. replace(x,y)返回值将字符串X中为Y串的地方删除例:epacel('aaabbb','bb ...
- javascript中substring()、substr()、slice()的区别
在js字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧. ...
- js字符串和数组操作,容易混淆的方法总结(slice、substring、substr、splice)
平时工作中,很少静下心来总结基础知识,总觉得自己会用了,有点飘了,直到碰壁之后才懂得基础知识的重要性.大牛告诉我,一次写对,是不是可以不用F12去调试了?是不是省了时间?简直是面红耳赤,无地自容.在这 ...
随机推荐
- Redis01——Redis介绍
1.NoSQL数据库概述 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库. NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式 ...
- ubuntu更换pip源
1.创建pip.conf文件 cd ~/.pip 当提示不存在时,创建它 mkdir ~/.pip 在.pip目录下创建一个pip.conf文件 touch pip.conf 2.编辑pip.conf ...
- python的datetime库
datetime 库 简介 获取时间 主要提供程序计时器 基本使用
- Python面向对象基础语法
目标 dir 内置函数 定义简单的类(只包含方法) 方法中的 self 参数 初始化方法 内置方法和属性 01. dir 内置函数(知道) 在 Python 中 对象几乎是无所不在的,我们之前学习的 ...
- SVN代码迁移到GITlab
==================================================================================================== ...
- P&R 6
Floorplan: 要做好floorplan需要掌握哪些知识跟技能? 通常,遇到floorplan问题,大致的debug步骤跟方法有哪些? 如何衡量floorplan的QA? Floorplan基本 ...
- MindManager安装、激活
MindManager安装 MindManager激活
- Plastic Sprayers Manufacturer -Plastic Spray Bottle Product Features, Nozzle Properties
Nowadays, plastic spray bottles are widely used in the plastic packaging industry. What are the char ...
- NOIP--模拟—————神奇的幻方
神奇的幻方 题目描述 幻方是一种很神奇的 N*N 矩阵:它由数字 1,2,3,-N x N 构成,且每行.每列及两条对角线上的数字之和都相同. 当 N 为奇数时,我们可以通过下方法构建一个幻方: 首先 ...
- php源码加密--screw plus
screw plus是一个开源的php扩展,作用是对php文件进行加密,网络上提供php加密的服务很多,但大多都只是混淆级别的加密,被人拿到加密文件问只要有足够耐心就能破解,与之不同的是,screw ...