JavaScript截取字符串的Slice、Substring、Substr函数详解和比较

yizhihongxing

JavaScript截取字符串的Slice、Substring、Substr函数详解和比较

在JavaScript中,有3个常用的函数可以用来截取字符串。这些函数是Slice、Substring和Substr。这篇文章将详细介绍这些函数、它们的用法及它们之间的差异。

Slice函数

Slice函数用于从字符串中获取一段子字符串。它接受2个参数,开始位置和结束位置,其中开始位置包括在截取的字符串中,而结束位置不包括在截取的字符串中。如果没有给该函数传递第二个参数,则默认截取到字符串的结尾。

下面是一个示例代码:

const str = 'hello world';
const slicedStr = str.slice(0, 5); // "hello"

在这个示例中,截取的开始位置是0,结束位置是5。因此,返回的字符串是从字符串的开始到第5个字符的子字符串。

Substring函数

Substring函数与Slice函数相似,也用于截取字符串。但不同之处在于,它接受的第二个参数是截取的结束位置。如果没有传递第二个参数,则默认截取到字符串的结尾。

下面是一个示例代码:

const str = 'hello world';
const subStr = str.substring(0, 5); // "hello"

在这个示例中,截取的开始位置是0,结束位置是5。因此,返回的字符串是从字符串的开始到第5个字符的子字符串。

Substr函数

Substr函数也用于截取字符串,但它与Slice和Substring函数略有不同。它接受2个参数,开始位置和要截取的字符数。

下面是一个示例代码:

const str = 'hello world';
const substr = str.substr(0, 5); // "hello"

在这个示例中,截取的开始位置是0,要截取的字符数是5。因此,返回的字符串是从字符串的开始到第5个字符的子字符串。

比较这三个函数

这三个函数可以用来截取字符串,但由于它们的不同之处,它们之间也存在一些区别。

  1. Slice和Substring函数的第二个参数是一样的,即截取的结束位置。但是Substr函数的第二个参数是截取的字符数。
  2. Slice函数可以接受负数参数,表示从字符串的结尾开始计算截取位置。而Substring和Substr函数则不能接受负数参数。
  3. 如果开始位置大于结束位置,Slice函数返回一个空字符串,Substring函数会自动交换开始位置和结束位置的值,而Substr函数返回从字符串结尾开始计算的子字符串。
  4. 如果没有传递第一个参数(开始位置),Slice函数和Substring函数默认从字符串的开始位置截取,而Substr函数默认从字符串结尾计算并截取。

下面是一些示例代码:

const str = 'hello world';

// Slice函数示例
console.log(str.slice(-5));  // "world"
console.log(str.slice(0, -6));  // "hello"

// Substring函数示例
console.log(str.substring(str.length - 5));  // "world"
console.log(str.substring(6, 0));  // "hello"

// Substr函数示例
console.log(str.substr(-5));  // "world"
console.log(str.substr(6, 5));  // "world"

这些示例代码展示了这三个函数的差异性及其用法。根据你的需求,选择适合你的函数来截取字符串吧!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript截取字符串的Slice、Substring、Substr函数详解和比较 - Python技术站

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

相关文章

  • JavaScript表单通过正则表达式验证电话号码

    以下是JavaScript表单通过正则表达式验证电话号码的完整攻略: 1. 理解正则表达式 正则表达式是一种表示文本模式的方法,可以用于搜索、替换和验证字符串。在JavaScript中,可以使用RegExp对象来创建正则表达式。常用的正则表达式元字符包括: ^ 匹配字符串开头 $ 匹配字符串结尾 . 匹配除换行符外的任意字符 \d 匹配数字 + 匹配前面的元…

    JavaScript 2023年6月10日
    00
  • Javascript 更新 JavaScript 数组的 uniq 方法

    下面是更新 JavaScript 数组的 uniq 方法的完整攻略: 1. 现状 目前,虽然 JavaScript 数组已有现成的 filter 函数可以用来过滤数组中重复的元素,但很多开发者经常需要自定义数组的 uniq 方法,以实现更加灵活的去重操作。目前,常见的去重实现方式有两种:基于 Set 对象的去重和基于对象属性的去重,其中基于 Set 的去重是…

    JavaScript 2023年5月27日
    00
  • JavaScript返回0-1之间随机数的方法

    当我们需要获取0-1之间的随机数时,可以使用JavaScript提供的Math对象的随机函数进行实现。具体实现方式如下: 方法1 Math.random() 使用Math.random()方法可以获取0-1之间的随机数,具体实现代码如下: function getRandom() { return Math.random(); } 使用示例: console…

    JavaScript 2023年6月10日
    00
  • jquery实现简单的表单验证

    下面是jQuery实现简单的表单验证的完整攻略: 1. 导入jQuery库文件 要使用jQuery,首先需要在页面头部导入jQuery库文件,可以从官网下载或直接使用CDN加速链接。示例: <head> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jque…

    JavaScript 2023年6月10日
    00
  • JavaScript 字符串与数组转换函数[不用split与join]

    下面是“JavaScript 字符串与数组转换函数[不用split与join]”的完整攻略。 为什么不用split和join 在讲解字符串与数组转换函数之前,我们先来谈谈为什么要不用split和join。split和join是JavaScript中常用的字符串与数组转换函数,但是在某些场景下,特别是在大数据量时,使用这两个函数会影响效率,因此需要考虑其他的转…

    JavaScript 2023年5月28日
    00
  • 使用JS画图之点、线、面

    使用JS画图之点、线、面 本文介绍如何使用JavaScript(以下简称JS)来画图,并详细讲解绘制点、线、面的完整攻略。 准备工作 在开始绘图之前,我们需要准备以下文件: HTML文件:用于展示画布 CSS文件:用于美化画布 JS文件:用于绘制图形 首先,在HTML文件中创建一个画布元素: <canvas id="myCanvas&quot…

    JavaScript 2023年6月10日
    00
  • JavaScript实现数组对象去重的多种方法

    下面我来为大家详细讲解“JavaScript实现数组对象去重的多种方法”。 一、背景介绍 在前端开发中,我们经常需要对数组进行去重操作,以减少某些操作的时间复杂度。在JavaScript中,实现数组对象去重的方法有很多,也存在各自的优缺点。下面我将为大家介绍一些常用的去重方法以及其优缺点。 二、方法一:利用Set(ES6) 由于ES6出现了Set数据类型,所…

    JavaScript 2023年5月27日
    00
  • 微信小程序实现给嵌套template模板传递数据的方式总结

    下面我将为你详细讲解微信小程序实现给嵌套template模板传递数据的方式总结。 1. 使用WXS方式获取数据 我们可以使用WXS方式来获取数据,并在模板中使用。具体步骤如下: 在当前页面或组件的JS文件中定义WXS方法,例如: const getTemplateData = function(templateId) { // 在这里获取并返回数据 } mo…

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