当前位置:网站首页>《看完就懂系列》字符串截取方法substr() 、 slice() 和 substring()之间的区别和用法
《看完就懂系列》字符串截取方法substr() 、 slice() 和 substring()之间的区别和用法
2022-07-04 17:32:00 【InfoQ】
let str = '0123456789'
let result1 = str.substr(2,5) // 从下标2开始截取,截取5位
let result2 = str.slice(2,5) // 从下标2开始截取,截取到下标5(不含下标5)
let result3 = str.substring(2,5) // 从下标2开始截取,截取到下标5(不含下标5)
console.log(result1) // 控制台打印:23456
console.log(result2) // 控制台打印:234
console.log(result3) // 控制台打印:234
let str = '0123456789'
let result1 = str.substr(-2,-5) // 相当于 str.substr(str.length-2,-5),相当于 str.substr(8,-5), 从下标8开始截取,截取-5位
let result2 = str.slice(-2,-5) // 相当于 str.substr(str.length-2,str.length-5),相当于 str.substr(8,5), 从下标8开始截取,截取到下标5(不含下标5)
let result3 = str.substring(-2,-5) // 相当于 str.substr(0,0)
// 因为截取下标的区间都不存在元素,所以打印都为空
console.log(result1) // 控制台打印:
console.log(result2) // 控制台打印:
console.log(result3) // 控制台打印:
let str = '0123456789' // str.length为10
let result1 = str.substr(2) // 相当于 str.substr(2,str.length),相当于 str.substr(2,10),不足10位取到最后一位
let result2 = str.slice(2) // 相当于 str.slice(2,str.length),相当于 str.slice(2,10)
let result3 = str.substring(2) // 相当于 str.substring(2,10)
console.log(result1) // 控制台打印:23456789
console.log(result2) // 控制台打印:23456789
console.log(result3) // 控制台打印:23456789
let str = '0123456789' // str.length为10
let result1 = str.substr(-2) // 相当于 str.substr(str.length-2,str.length),相当于 str.substr(8,10),不足10位取到最后一位
let result2 = str.slice(-2) // 相当于 str.slice(str.length-2,str.length),相当于 str.slice(8,10)
let result3 = str.substring(-2) // 相当于 str.substring(0,10)
console.log(result1) // 控制台打印:89
console.log(result2) // 控制台打印:89
console.log(result3) // 控制台打印:0123456789
let str = '0123456789' // str.length为10
let result1 = str.substr(2,-5) // 从下标2开始截取,截取-5个字符,为空
let result2 = str.slice(2,-5) // 从下标2开始截取,截取到str.length-5,即相当于 str.slice(2,5)
let result3 = str.substring(2,-5) // 相当于 str.substring(0,2) ,即当substring的第一个参数为正数,第二个参数为负数时,则会把第一个参数作为0,第二个参数改为第一个参数的值即2。
console.log(result1) // 控制台打印:
console.log(result2) // 控制台打印:234
console.log(result3) // 控制台打印:01
let str = '0123456789' // str.length为10
let result1 = str.substr(-2,5) // 相当于 str.substr(str.length-2,5),相当于 str.substr(8,5)
let result2 = str.slice(-2,5) // 相当于 str.slice(str.length-2,5),相当于 str.substr(8,5),为空
let result3 = str.substring(-2,5) // 相当于 str.substring(0,5),即当substring的第一个参数为负数时,则会把第一个参数作为0。
console.log(result1) // 控制台打印:89
console.log(result2) // 控制台打印:
console.log(result3) // 控制台打印:01234
写在后面
边栏推荐
- [opencv introduction to mastery 9] opencv video capture, image and video conversion
- 力扣刷题日记/day2/2022.6.24
- Esp32-c3 introductory tutorial questions ⑫ - undefined reference to ROM_ temp_ to_ power, in function phy_ get_ romfunc_ addr
- 其他InterSystems %Net工具
- 输入的查询SQL语句,是如何执行的?
- Li Kou brush question diary /day4/6.26
- 6.26CF模拟赛B:数组缩减题解
- [uniapp] uniapp development app online Preview PDF file
- Caché WebSocket
- DeFi生态NFT流动性挖矿系统开发搭建
猜你喜欢
[go language question brushing chapter] go conclusion chapter | introduction to functions, structures, interfaces, and errors
DeFi生态NFT流动性挖矿系统开发搭建
Li Kou brush question diary /day8/7.1
Nature Microbiology | 可感染阿斯加德古菌的六种深海沉积物中的病毒基因组
Scala基础教程--16--泛型
My colleagues quietly told me that flying Book notification can still play like this
基于lex和yacc的词法分析器+语法分析器
2022 ByteDance daily practice experience (Tiktok)
How is the entered query SQL statement executed?
Li Kou brush question diary /day2/2022.6.24
随机推荐
Deleting nodes in binary search tree
小发猫物联网平台搭建与应用模型
爬虫(6) - 网页数据解析(2) | BeautifulSoup4在爬虫中的使用
IBM WebSphere MQ检索邮件
一、C语言入门基础
Nature Microbiology | 可感染阿斯加德古菌的六种深海沉积物中的病毒基因组
File processing examples of fopen, FREAD, fwrite, fseek
. Net ORM framework hisql practice - Chapter 2 - using hisql to realize menu management (add, delete, modify and check)
Using FTP
神经网络物联网应用技术就业前景【欢迎补充】
Halcon template matching
Technology sharing | interface testing value and system
Perfect JS event delegation
Uni app and uviewui realize the imitation of Xiaomi mall app (with source code)
Mxnet implementation of googlenet (parallel connection network)
6.26CF模拟赛B:数组缩减题解
Grain Mall (I)
MXNet对GoogLeNet的实现(并行连结网络)
Scala basic tutorial -- 13 -- advanced function
完善的js事件委托