js字符串截取函数substr substring slice使用对比

JS中操作字符串的时候,会用到截取字符串的函数,这篇攻略介绍substr、substring和slice三种常用的截取字符串函数,并进行对比。

substr

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

语法:string.substr(start, length)

参数说明:
- start:必需,一个整数,规定字符串中开始抽取的位置。
- length:可选,一个整数,规定被抽取的字符数。

示例1:

const str = "This is a string.";
const newStr = str.substr(5, 2);
console.log(newStr);  // is

示例2:

const str = "This is a string.";
const newStr = str.substr(5);
console.log(newStr);  // is a string.

substring

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

语法:string.substring(start, end)

参数说明:
- start:必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
- end:可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

示例1:

const str = "This is a string.";
const newStr = str.substring(5, 7);
console.log(newStr);  // is

示例2:

const str = "This is a string.";
const newStr = str.substring(5);
console.log(newStr);  // is a string.

slice

slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

语法:string.slice(start, end)

参数说明:
- start:必需,一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
- end:可选,一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回从 start 到字符串的结尾的所有字符。

示例1:

const str = "This is a string.";
const newStr = str.slice(5, 7);
console.log(newStr);  // is

示例2:

const str = "This is a string.";
const newStr = str.slice(5);
console.log(newStr);  // is a string.

对比

  • start 参数传入负数时,slice()和substring()方法会将其算作从字符串末尾开始计数的位置,而substr()方法则会将其解释为从0开始计数的位置。
  • 两种方法的参数 end 的具体作用和定义也不同。在 substring()方法中,第二个参数表示返回字符串的最后一个被截取字符的后一位的下标;同时,如果第二个参数缺省,则默认将字符串长度作为被截取字符串的结束位置。而 slice()方法则是需要传两个参数,这两个参数分别代表了被截取字符串的开始位置和结束位置;如果第一个参数为负数,则从末尾开始截取。
  • 对于截取长度为负数或为0的字符串,substr()方法在所有浏览器中都返回空字符串;而在 Firefox 和 Safari 中,slice()方法返回空字符串,而在 Opera 中返回原字符串;而 substring()方法在除 Firefox 以外的所有浏览器中都返回空字符串。

总体而言,三种方法都可以用于截取字符串,但因为参数意义的不同,所以应该根据实际需要选择合适的方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js字符串截取函数substr substring slice使用对比 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • ECharts transform数据转换和dataZoom在项目中使用

    ECharts transform数据转换和dataZoom在项目中使用是数据可视化中非常重要的一部分,本文将会从以下几个方面来进行讲解: transform数据转换的基本概念及使用方法 示例说明transform数据转换的用法 dataZoom使用方法及示例 1. transform数据转换的基本概念及使用方法 在ECharts中,数据转换是一种通过对数据…

    JavaScript 2023年6月10日
    00
  • 使用Post提交时须将空格转换成加号的解释

    在使用POST方式提交表单的时候,浏览器默认会将表单数据按照key/value的形式进行编码,并以”application/x-www-form-urlencoded”的格式提交到服务器端。其中,key/value间以等号(=)连接,每组key/value间使用&符号分隔。因此,如果表单数据中存在空格等特殊字符,可能会导致数据被编码后出现错误,不能正…

    JavaScript 2023年6月10日
    00
  • Javascript读取上传文件内容/类型/字节数

    下面是Javascript读取上传文件内容/类型/字节数的完整攻略。 1. 读取上传文件类型 实现读取上传文件类型的方法,可以使用HTML5标准中的File API。通过File API,可以使用JS访问用户选择的本地文件。 以下是一个使用File API的示例代码: const fileInput = document.getElementById(‘fi…

    JavaScript 2023年5月27日
    00
  • js 判断数据类型的几种方法

    当我们在使用JavaScript编写程序时,需要经常判断变量的数据类型,以便执行不同的操作。本文将介绍JS判断数据类型的几种方法。 方法一:typeof操作符 typeof操作符用于判断JS数据类型,返回值为一个字符串。它可以判断的数据类型有:“undefined”、“boolean”、“number”、“string”、“object”(注意:null也是…

    JavaScript 2023年6月10日
    00
  • js中通过getElementsByName访问name集合对象的方法

    获取name集合对象是DOM中的常见操作之一,使用getElementsByName方法可以获取到相应名字的元素节点集合。下面为大家提供选定属性值的两条示例说明: 语法说明 getElementsByName方法通过指定元素的name特定属性来获取文档中具有相同name属性值的元素集合。其基本语法如下: var elements = document.get…

    JavaScript 2023年6月10日
    00
  • 如何利用原生JS实现触摸滑动监听事件

    要实现触摸滑动监听事件,可以使用原生JS的Touch API。下面是一些步骤和示例代码,可以帮助你了解如何实现此功能。 获取DOM元素 将要监听的DOM元素获取到,比如: let slider = document.getElementById(‘slider’); 添加touchstart监听事件 当用户开始触摸屏幕时,会触发touchstart事件。在这…

    JavaScript 2023年6月11日
    00
  • ES6之模版字符串的具体使用

    当我们需要将一些字符串拼接在一起时,通常会使用 + 号操作符或字符串模板生成函数。在ES6中,我们还可以使用模版字符串来进行字符串的拼接。 模版字符串使用反引号( )来包含字符串,并使用${}`来嵌入变量或表达式。例如: const name = "Lucy"; console.log(`Hello, ${name}!`); //输出:&…

    JavaScript 2023年5月28日
    00
  • 带你彻底搞懂JavaScript的事件流

    带你彻底搞懂JavaScript的事件流 JavaScript的事件流是指浏览器中各个元素接收事件的顺序。该过程包含了三个阶段:捕获阶段、目标阶段和冒泡阶段。在理解了JavaScript的事件流后,可以更加深入地理解JavaScript的DOM操作和事件处理。 捕获阶段 在捕获阶段,事件从文档的根节点向下传递,直到达到事件的目标元素。在这个过程中,任何一个被…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部