博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript中substring,substr和slice对比
阅读量:2072 次
发布时间:2019-04-29

本文共 1539 字,大约阅读时间需要 5 分钟。

javascript中substring,substr和slice对比

欢迎访问我的博客,祝所有码农同胞们早日走上人生巅峰,迎娶白富美~~

先写下最终结论,这样方便阅读者快速使用:

  1. substring(a, b):指的是截取从开始位置到结束位置,a:开始位置,b:结束位置的后一位
  2. slice(a, b):指的是截取从开始位置到结束位置,且ab可以为负数,a:开始位置,b:结束位置的后一位
  3. substr(a, b):指的是从开始位置a截取长度为b的字符号才能,且ab可以为负数,a:开始位置,b:要截取的字符串长度

substring

提取在substring(a, b)两个参数之间的字符串片段

语法

1
substring(a, b) // a:开始位置,b:结束位置的后一位

参数

  1. a: 必需,一个非负整数,规定截取字符串的第一个字符在原字符串中的位置,即规定了截取的开始位置
  2. b: 可选,一个非负整数,规定截取字符串的最后一个字符在原字符串中的位置的前一位,即规定了截取的终止位置,如果省略该参数,那么返回的子串会一直到字符串的结尾
  3. 注意
    1. 如果参数a = b,则返回空字符串
    2. 如果a > b,则该方法会先交换这两个参数,再执行该方法程序

返回值

返回一个新的字符串(a位置到b - 1位置的字符串片段)

实例

建议直接去浏览器控制台调试

1 2 3 4
var str = 'sajdadjsahdah' str.substring(1, 3) // 'aj' str.substring(1) // 'ajdadjsahdah' str.substring(3, 1) // 'aj'

slice

提取在slice(a, b)两个参数之间的字符串片段

语法

1
slice(a, b) // a:开始位置,b:结束位置的后一位

参数

  1. a: 必需,正负整数都支持,正数表示从字符串头到尾的起始下标,负数表示从字符串的尾到头的起始下标
  2. b: 可选,正负整数都支持,正数表示从字符串头到尾的起始下标 - 1,负数表示从字符串的尾到头的起始下标 - 1
  3. 注意
    1. 如果参数a = b或者a > b,则返回空字符串

返回值

返回一个新的字符串(a位置到b - 1位置的字符串片段)

实例

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
var str = 'sajdadjsahdah' str.slice(1, 3) // "aj" str.slice(1) // "ajdadjsahdah" str.slice(1, 1) // "" str.slice(3, 1) // "" str.slice(-3, -1) // "da" str.slice(-1, -3) // "" str.slice(-3) // "dah"

substr

提取slice(a, b)a开始,长度为b的字符串

语法

1
substr(a, b) // a: 起始位置,b:截取的字符串长度

参数

  1. a: 必需,正负整数都支持,正数表示从字符串头到尾的起始下标,负数表示从字符串的尾到头的起始下标
  2. b: 可选,将要截取的字符串长度
  3. 注意
    1. 如果省略参数b,那么返回的子串会一直到字符串的结尾

返回值

返回一个新的字符串(从a位置开始,长度为b的字符串)

实例

1 2 3 4 5 6 7 8 9
var str = 'sajdadjsahdah' str.substr(1, 3) // "ajd" str.substr(1) // "ajdadjsahdah" str.substr(-3, 3) // "dah" str.substr(3, 0) // ""

转载地址:http://hxtmf.baihongyu.com/

你可能感兴趣的文章
Java面试题全集(中)
查看>>
值传递和引用传递
查看>>
什么情况下用+运算符进行字符串连接比调用StringBuilder对象的append方法连接字符串性能更好?
查看>>
怎么根据Comparable方法中的compareTo方法的返回值的正负 判断升序 还是 降序?
查看>>
理解事务的4种隔离级别
查看>>
常用正则匹配符号
查看>>
建议42: 让工具类不可实例化
查看>>
Java 异步机制与同步机制的区别
查看>>
hibernate的对象三种状态说明
查看>>
什么是N+1查询?
查看>>
Spring 接管 Hibernate 配置 延迟加载
查看>>
找出不在预定数组中的自然数
查看>>
String常见面试题
查看>>
直插,快排,堆排,归并排序的分析
查看>>
二叉树的各种操作(面试必备)
查看>>
oracle
查看>>
泛型与通配符详解
查看>>
BaseServiceImpl中的实现关键点
查看>>
Struts2中的session、request、respsonse获取方法
查看>>
如何理解MVC模型
查看>>