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日

相关文章

  • 浅谈DOM的操作以及性能优化问题-重绘重排

    浅谈DOM的操作以及性能优化问题 什么是DOM DOM(Document Object Model,文档对象模型)是HTML和XML的编程接口,它将HTML和XML文档表示为树形结构,并提供了一套API用于访问和操作这个树形结构。 DOM的操作 在使用JavaScript操作DOM时,我们通常需要涉及到以下DOM操作: 获取DOM元素:通过document.…

    JavaScript 2023年6月10日
    00
  • vue-i18n结合Element-ui的配置方法

    下面我将详细介绍 Vue-i18n 结合 Element-ui 的配置方法。 安装和配置 Vue-i18n 第一步是安装 Vue-i18n,使用以下命令: npm install vue-i18n –save-dev 完成安装后,我们需要在 Vue 项目中添加一个名为 i18n.js 的文件来配置 i18n。该文件的代码如下: import Vue fro…

    JavaScript 2023年6月10日
    00
  • 微信小程序表单验证插件WxValidate的二次封装功能(终极版)

    以下是关于“微信小程序表单验证插件WxValidate的二次封装功能(终极版)”的详细攻略。 什么是WxValidate? WxValidate是一款轻巧的微信小程序表单验证插件。在微信小程序开发中,表单验证是非常重要的,例如在登录、注册、填写个人信息等场景和功能中都需要用到表单验证。WxValidate提供了便捷的表单验证解决方案。它支持表单验证规则的自定…

    JavaScript 2023年6月10日
    00
  • JavaScript 12个有用的数组技巧

    标题:JavaScript 12个有用的数组技巧完整攻略 1.使用forEach替代for循环 ForEach可以在不使用for循环的情况下更简洁、更容易理解的遍历数组内的元素,例如: const numbers = [1, 2, 3, 4, 5]; numbers.forEach((number) => { console.log(number); …

    JavaScript 2023年5月27日
    00
  • 详解javascript函数写法大全

    详解JavaScript函数写法大全是一篇包含了众多 JavaScript 函数使用和写法范例的文档,让开发人员能够更好地理解和运用 JavaScript 函数。下面我将分为四个部分详细讲解这篇攻略。 一、函数声明和函数表达式 JavaScript 中函数的写法主要分为函数声明和函数表达式两种方式。 函数声明 使用 function 关键字定义的函数叫函数声…

    JavaScript 2023年5月17日
    00
  • javascript的 {} 语句块详解

    让我来详细讲解一下“JavaScript 的 {} 语句块”吧。 什么是 {} 语句块? 在 JavaScript 中,使用 {} 创建一个语句块(statement block),也称代码块(code block)。大括号内可以包含多条语句,每条语句用分号(;)进行分隔。 示例代码: { var x = 1; var y = 2; console.log(…

    JavaScript 2023年5月18日
    00
  • 基于微信小程序实现人脸数量检测的开发步骤

    下面是详细讲解基于微信小程序实现人脸数量检测的开发步骤的完整攻略。 1. 确定需求和目标 首先需要明确开发的目标,即实现人脸数量检测功能的微信小程序。同时需要明确项目的需求和功能,这里我们需要实现对用户上传的照片进行人脸数量检测,并显示检测结果。为此,我们需要调用微信小程序的API和引入相关的开发工具。 2. 引入开发工具和API 微信小程序提供了一系列AP…

    JavaScript 2023年5月19日
    00
  • JS 验证码功能的三种实现方式

    下面为您讲解JS验证码功能的三种实现方式的完整攻略。 方式一:纯前端方法生成 实现过程 在HTML页面中添加验证码输入框和一个生成验证码的按钮; JS随机生成一个包含数字和字母的随机字符串并将其绑定到验证码文本框上; 当用户输入验证码并提交时,将输入的验证码与生成的验证码进行比较,判断验证码是否正确。 代码示例 HTML部分: <!DOCTYPE ht…

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