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

yizhihongxing

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日

相关文章

  • vue webpack重写cookie路径的方法

    让我们来详细讲解“vue webpack重写cookie路径的方法”的完整攻略。 什么是cookie路径重写 cookie是一种在访问者计算机中存储数据的小型文本文件,它在Web应用程序中广为使用。默认情况下,如果没有指定cookie的路径,则 cookie被设置为页面当前路径。当你使用Vue和Webpack构建一个Web应用程序时,应用程序的路径可能不会在…

    JavaScript 2023年6月11日
    00
  • 如何解决日期函数new Date()浏览器兼容性问题

    针对new Date()浏览器兼容性问题,我们可以采用以下两种方法进行解决: 方法一:使用标准格式的日期字符串 在使用new Date()函数时,传入的参数格式需要满足标准格式的日期字符串。例如:’2021-07-01’。 同时,我们还需要注意以下几点: 月份需要减一,例如7月应该写成6。 IE8及其以下版本不支持使用’-‘分隔符,需要使用’/’。 下面是一…

    JavaScript 2023年6月10日
    00
  • js中时间格式化的几种方法

    讲解js中时间格式化的几种方法的攻略如下: 一、JavaScript中的时间表示 在JavaScript中,时间是用毫秒数来表示的。毫秒数是从1970年1月1日00:00:00 UTC开始计算的,也被称为1970年纪元。这个时间点被称为UNIX时间。UNIX时间是一个标准时间,所有的计算机系统都使用它来存储时间数据。 二、格式化时间的方法 在JavaScri…

    JavaScript 2023年5月27日
    00
  • 浅谈 JavaScript 沙箱Sandbox

    浅谈 JavaScript 沙箱Sandbox 什么是 JavaScript 沙箱? JavaScript 沙箱是一种让我们能够在安全的环境中运行 JavaScript 代码的技术。在应用中,我们要允许用户输入 JavaScript 代码,并且希望执行这些代码,但同时也必须确保用户输入的代码不会破坏应用程序或某些敏感数据。 著名的 JS 沙箱库有 Googl…

    JavaScript 2023年5月28日
    00
  • JavaScript使用push方法添加一个元素到数组末尾用法实例

    让我们来解析一下“JavaScript使用push方法添加一个元素到数组末尾用法实例”。 什么是JavaScript的push方法 在JavaScript中,push()方法可以向数组的末尾添加一个或多个元素,并返回该数组的新长度。这个方法的语法是: array.push(item1, item2, …, itemX) 参数: item1, item2,…

    JavaScript 2023年5月27日
    00
  • js对图片base64编码字符串进行解码并输出图像示例

    解码图片base64编码字符串并输出图像一般需要以下步骤: 从DOM中获取到base64编码图片字符串。 将base64编码图片字符串转换为Blob类型数据。 使用FileReader对象将Blob类型数据读取为图像对象的URL地址。 将URL地址赋值给img标签的src属性,以此输出图像。 下面我们来一步一步详细讲解这个过程,并提供两个示例。 示例1: 先…

    JavaScript 2023年5月19日
    00
  • JavaScript转换数据库DateTime字段类型方法

    下面是JavaScript转换数据库DateTime字段类型的完整攻略。 背景介绍 在开发过程中,我们经常会遇到需要将后端返回的时间戳或字符串类型的时间转换为JavaScript的Date对象,以方便在前端进行处理。这里介绍一种转换数据库DateTime字段类型的方法。 解决方案 在JavaScript中,可以通过正则表达式将数据库DateTime类型的时间…

    JavaScript 2023年5月27日
    00
  • 使用js实现数据格式化

    使用JavaScript实现数据格式化可以使得数据更加美观易读,并且方便数据的处理和展示。下面是一个完整的攻略,主要包括以下几个步骤: 步骤一:了解数据格式化 在进行数据格式化之前,需要先了解数据格式化的基本概念和方式。数据格式化指的是对数据的重新排列,以方便数据的处理和展示。常见的数据格式化方法包括日期格式化、货币格式化、数字格式化等。 常用的数据格式化函…

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