【JavaScript使用技巧】三个截取字符串中的子串,你用的哪个
【JavaScript使用技巧】三个截取字符串中的子串,你用的哪个
博客说明
文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!
slice() 截取
说明
通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分。
语法
stringObject.slice(start, end)
参数说明
start(必需):规定从何处开始选取。
如果是负数,那么它规定从字符串尾部开始算起的位置。
end(可选):规定从何处结束选取,即结束处的字符下标。
如果没有指定该参数,那么截取的字符串包含从 start 到结束的所有字符。如果这个参数是负数,那么它规定的是从数组尾部开始算起的字符。
示例
var str = "0123456789";
str.slice(0,5); // 01234
str.slice(3); //3456789
str.slice(3,5); //34
str.slice(-3); //789
substring()截取
说明
提取字符串中介于两个指定下标之间的字符,返回一个新的字符串。
语法
stringObject.substring(start, stop)
参数说明
start(必需):一个非负的整数,注意是非负的整数。
标识了要提取的子串的第一个字符在 stringObject 中的位置。
stop(可选):一个非负的整数,注意是非负的整数。
比要提取的子串的最后一个字符在 stringObject 中的位置多 1(至少为一个字符)。
var str = "0123456789";
str.substring(3,5); //34
str.substring(3); //3456789
注意:
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。
substr() 截取
说明
substr 方法用于返回一个从指定位置开始的指定长度的子字符串。这里注意第二个参数是长度,而不是结束的位置。
语法
stringObject.substr(start, length)
参数说明
start(必需):所需的子字符串的起始位置。
字符串中的第一个字符的索引为 0。
length(可选):在返回的子字符串中应包括的字符个数。
var str = "0123456789";
str.substr(3,5); //34567
str.substr(3); //3456789
注意:
如果 length 为 0 或负数,将返回一个空字符串
如果没有指定 length,则子字符串将延续到 stringObject 的最后
如果 start 或 length 为负数,那么它将被替换为 0
对比和记忆
其实我猜大多数pym都知道这个三个方法,但是这三个方法的区别总是有些把持不住的样子。
给一段代码,好对比。
var str = "0123456789";
str.slice(3,5); //34
str.substring(3,5); //34
str.substr(3); //3456789
slice和substring都有开始和结束的概念,所以在有开始和结束参数时,区别不大,substring不支持负数,这一边有别于slice,一般也是基于这一点来区分使用的。
substr只有开始和开始的数量,这种方式用的场景特定,区别也是最明显的,希望如果记不住前面两个,那就那这个孤儿收了吧。
感谢
万能的网络
公众号-归子莫,小程序-小归博客
【JavaScript使用技巧】三个截取字符串中的子串,你用的哪个的更多相关文章
- java中subString、split、stringTokenizer三种截取字符串方法的性能比较(转)
最近在阅读java.lang下的源码,读到String时,突然想起面试的时候曾经被人问过:都知道在大数据量情况下,使用String的split截取字符串效率很低,有想过用其他的方法替代吗?用什么替代? ...
- 怎么用JS截取字符串中第一个和第二个字母间的部分?
一.JS中用正则判断字符串是否有匹配正则的字符串部分,格式如下: /[a-zA-Z](.*?)[a-zA-Z]/.test('1a123d45678901a2') “.test”前面的部分是正则表达式 ...
- [转]EXCEL截取字符串中某几位的函数——LeftMIDRight及Find函数的使用
原文地址:http://blog.sina.com.cn/s/blog_3f136a180102ymq5.html EXCEL截取字符串中某几位的函数 ——Left MID Right及Find函数的 ...
- 【面试题】JS使用parseInt()、正则截取字符串中数字
JS使用parseInt()和正则截取字符串中数字 点击打开视频讲解更加详细 parseInt() 函数 定义和用法 parseInt() 函数可解析一个字符串,并返回一个整数. 当参数 radix ...
- Excel中如何截取字符串中指定字符后的部分字符
1.如何给某列属性为时间整体加一个时间值: 场景一:假如我有一个excel中的某一列如下图所示,如何将该列的时间(用B代替整列)整体加一分钟呢?方法很简单,在空白单元格填写时间格式图中A所示 ...
- Android中如何截取字符串中某个字符之前或之后的字符串
代码改变世界 Android中如何截取字符串中某个字符之前或之后的字符串 //截取#之前的字符串 String str = "sdfs#d"; str.substring(0, s ...
- java截取字符串中的最后几个字符
Java中的String类提供了一个substring(int from, int to)方法用于截取字符串中位置为from到to-1位置的字符. 因为字符串的字符位置是从0开始的,而substrin ...
- Java中用正则表达式截取字符串中
Java中用正则表达式截取字符串中第一个出现的英文左括号之前的字符串.比如:北京市(海淀区)(朝阳区)(西城区),截取结果为:北京市.正则表达式为() A ".*?(?=\\()" ...
- C# - 怎么截取字符串中指定字符及其后面的字符
方法1:去掉空格以及后面的字符 //怎么截取让date的值为"2011/12/9",即去掉空格以及后面的字符 string date = "2011/12/9 2 ...
随机推荐
- 01 ASP.NET Core 3 启动过程(一)
ASP.NET Core 3 启动过程(一) 最近又忙于各种扯淡,今天来一个需求,明天又来一个需求,后天需求又变了,这可能是很多人遇到的情况.正在紧张的忙碌着,突然一个信息把所有计划打乱了," ...
- spring 创建Bean最全实现方法
创建bean方式,spring创建bean的方式包含:自动注入方式和人工注入方式.分别为:1)xml 配置化方式 2)@bean注解注入方式3)@Component方式 4)接口注入方式 5)imp ...
- CF1082E Increasing Frequency (multiset+乱搞+贪心)
题目大意: \(给你n个数a_i,给定一个m,你可以选择一个区间[l,r],让他们区间加一个任意数,然后询问一次操作完之后,最多能得到多少个m\) QWQ 考场上真的** 想了好久都不会,直到考试快结 ...
- 北鲲云超算如何让仿真技术、HPC和人工智能之间的深度融合?
在CAE领域,随着仿真技术在多个行业的深度应用,也带来了仿真模型日益复杂.仿真过程数据倍增.仿真计算费用昂贵等问题,降阶模型.人工智能.云计算等多种技术和仿真技术的深度融合,成为了仿真技术的重要发展趋 ...
- I/O系统
I/O系统的组成 外部设备 接口部件 总线 相应的管理软件 I/O软件 将用户编制的程序(或数据)输入主机内 将运算结果输出给用户 实现输入输出系统与主机工作的协调 I/O系统的基本功能 完成计算机内 ...
- 【Java技术专题】「性能优化系列」针对Java对象压缩及序列化技术的探索之路
序列化和反序列化 序列化就是指把对象转换为字节码: 对象传递和保存时,保证对象的完整性和可传递性.把对象转换为有字节码,以便在网络上传输或保存在本地文件中: 反序列化就是指把字节码恢复为对象: 根据字 ...
- python中常用的导包的方法和常用的库
python中常用的导包的方法 导入包和包名的方法:1.import package.module 2.from package.module import * 例一: ...
- Python 做简单的登录系统
案例 之 登录系统原创作品1 该随笔 仅插入部分代码:全部py文件源代码请从百度网盘自行下载! 链接:https://pan.baidu.com/s/1_sTcDvs5XEGDcnpoQEIrMg 提 ...
- UltraSoft - Beta - Scrum Meeting 7
Date: May 23rd, 2020. Scrum 情况汇报 进度情况 组员 负责 今日进度 q2l PM.后端 暂无 Liuzh 前端 编写忘记密码界面 Kkkk 前端 暂无 王fuji 前端 ...
- redis中lua脚本的简单使用
一.背景 在使用redis的过程中,发现有些时候需要原子性去操作redis命令,而redis的lua脚本正好可以实现这一功能.比如: 扣减库存操作.限流操作等等. redis的pipelining虽然 ...