JS 截取字符串substr 和 substring方法的区别

首先我们先来讲一下substr和substring的共同点,它们都是用来截取字符串的方法,所不同的是它们的参数和使用方法略有不同。

substr方法

substr方法接受两个参数,第一个参数是起始位置,第二个参数是截取的字符串长度。如果第二个参数是负数,则表示从起始位置开始往后数n个字符,并截取到字符串结束的位置。如果第一个参数是负数,表示从字符串末尾开始往前数的位置。

下面是一个使用substr方法截取字符串的示例:

const str = "abcdefghijk";
const subStr = str.substr(2, 5);
console.log(subStr); // "cdefg"

在上面的例子中,substr方法从字符串的第三个字符开始(即下标为2的位置),截取了5个字符。因此,subStr的值为"cdefg"。

substring方法

substring方法也接受两个参数,第一个参数是起始位置,第二个参数是截取字符串的结束位置(不包括该位置的字符)。如果参数是负数,则它会被当做0来处理。如果第一个参数大于第二个参数,则它们会被互换位置。

下面是一个使用substring方法截取字符串的示例:

const str = "abcdefghijk";
const subStr = str.substring(2,5);
console.log(subStr); // "cde"

在上面的例子中,substring方法从字符串的第三个字符开始(即下标为2的位置),截取到第六个字符(即下标为5的位置),但不包括第六个字符。因此,subStr的值为"cde"。

区别

现在回到题目所问的区别上来。其实,substrsubstring的区别就在于第二个参数的不同:

  • substr方法的第二个参数表示截取的字符串长度,而不是结束位置。
  • substring方法的第二个参数表示截取字符串的结束位置(不包括该位置的字符)。

因此,在实际编程中,我们需要根据具体的需求来选择使用哪个方法。如果我们需要截取的字符串长度已知,那么使用substr,如果我们需要根据结束位置来截取字符串,那么就使用substring

下面是一个进一步说明区别的例子:

const str = "abcdefghijk";
const substringStr = str.substring(2,5);
const substrStr = str.substr(2, 5);
console.log(substringStr); // "cde"
console.log(substrStr); // "cdefg"

在上面的例子中,我们分别使用substringsubstr方法截取了同一个字符串,但结果却不同。substring方法从第三个字符开始,一直截取到第六个字符,但不包括第六个字符。而substr方法则是从第三个字符开始,一直向后截取了5个字符,因此结果包括了第六个字符。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS 截取字符串substr 和 substring方法的区别 - Python技术站

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

相关文章

  • JavaScript history 对象详解

    JavaScript history 对象详解 什么是 history 对象? history 对象是浏览器的一部分,它存储了用户在浏览器窗口中所访问过的 URL。它提供了一些方法来操作该历史记录,例如前进、后退和重新加载等。当用户点击浏览器的后退或前进按钮时,这些方法就会被触发,并导航到相应的 URL。history 对象是 window 对象的一个属性,…

    JavaScript 2023年5月27日
    00
  • Vue3 Element Plus el-form表单组件示例详解

    下面是“Vue3 Element Plus el-form表单组件示例详解”的完整攻略: 1. 简介 Vue3 Element Plus是一套基于Vue 3和Element Plus组件库的前端解决方案。它提供了丰富的UI组件和工具,用于开发高质量的Web应用程序。 其中,el-form表单组件是Element Plus中的一个常用组件之一,用于收集和验证用…

    JavaScript 2023年6月10日
    00
  • javascript匿名函数应用示例介绍

    下面就详细讲解一下“JavaScript匿名函数应用示例介绍”: 什么是匿名函数? 匿名函数是指没有名称(函数名)的函数,它们通常是在定义时直接以函数表达式的形式出现,不需要像函数声明一样需要提前声明函数名。匿名函数可以作为参数传递给其他函数,也可以作为函数的返回值使用。在JavaScript中,匿名函数是非常常见且重要的一种编程方式。 匿名函数应用示例 示…

    JavaScript 2023年5月27日
    00
  • js 距离某一时间点时间是多少实现代码

    下面是完整的攻略: 前置知识 在实现“js 距离某一时间点时间是多少”之前,需要掌握以下知识: 获取当前时间的方法(如 Date.now()、new Date() 等) 将时间字符串转换为时间戳的方法(如 Date.parse()、new Date(str).getTime() 等) 时间戳的概念 计算时间差的方法(如使用 – 运算符,或者使用 Date 对…

    JavaScript 2023年5月27日
    00
  • javascript事件模型介绍

    JavaScript事件模型介绍 JavaScript事件模型是一种基于浏览器内部事件循环机制的编程模型。通过事件模型,我们可以定义当某个特定事件发生时,需要执行的 JavaScript 代码。事件模型是一种异步编程的方式,它能够帮助我们编写更高效、更灵活、更交互性强的网页应用。 事件模型基本原理 事件模型基于一个事件监听器的机制,用于监视一个特定的事件是否…

    JavaScript 2023年6月10日
    00
  • 如何让你的JavaScript函数更加优雅详解

    如何让你的JavaScript函数更加优雅详解 在编写JavaScript代码时,如何编写更加优雅的函数是一个值得探究的话题。下面,我们来一步步探讨如何让你的JavaScript函数更加优雅。 1.减少函数参数的数量 函数的参数数量应该尽可能的少,通常在3个以内是比较合适的。这样做的好处是可以避免函数的复杂性并提高代码的可读性,同时也可以提高代码的重用性和可…

    JavaScript 2023年5月27日
    00
  • Javascript地址引用代码实例解析

    Javascript地址引用代码实例解析 本文介绍了Javascript中的地址引用,包括什么是地址传递,什么是值传递,以及在Javascript中如何进行地址引用。通过本文,你会深入理解地址传递和值传递的区别,并且能够结合代码进行实例分析。 什么是地址传递 在Javascript中,我们可以使用地址引用来访问和修改对象的属性。在地址传递中,函数的参数实际上…

    JavaScript 2023年5月28日
    00
  • node puppeteer(headless chrome)实现网站登录

    下面我将介绍如何使用Node.js中的Puppeteer库实现网站登录的完整攻略。在此过程中,我将提供两个示例以帮助您更好地理解。 简介 Puppeteer是由Google开发的一个Node.js库,它提供了一组API来使用Headless Chrome浏览器进行自动化测试、爬虫或屏幕截图等操作。Headless Chrome是Chrome浏览器的无界面版本…

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