javascript substr和substring用法比较

JavaScript 中的 substr()substring() 都用于从字符串中提取子字符串。它们之间的区别在于如何指定提取子字符串的开始位置和结束位置。

substr() 方法

substr() 方法接受两个参数,第一个参数是开始提取子字符串的位置,第二个参数是提取子字符串的长度。例如:

let str = "hello world";
let result = str.substr(1, 4); // 从第二个字符开始,提取四个字符,结果为 "ello"

注意,第一个参数是子字符串的开始位置,而不是它的结束位置。如果第一个参数是负数,则表示从字符串末尾开始计数。例如:

let str = "hello world";
let result = str.substr(-3); // 从倒数第三个字符开始,直到字符串末尾,结果为 "rld"

substring() 方法

substring() 方法接受两个参数,第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不包含该位置的字符)。例如:

let str = "hello world";
let result = str.substring(1, 5); // 从第二个字符开始,到第五个字符之前,结果为 "ello"

注意,第一个参数必须小于第二个参数。如果参数中有负数,则会被视为 0。例如:

let str = "hello world";
let result = str.substring(-3, 4); // 等同于 str.substring(0, 4),结果为 "hell"

substr()substring() 的比较

  1. substr() 的第二个参数是子字符串的长度,而 substring() 的第二个参数是子字符串的结束位置。这意味着,substr() 可以使用负数表示从结尾开始数的位置,而 substring() 不行。

  2. 当第一个参数是相同的正数时,substr()substring() 的结果是一样的。例如:

let str = "hello world";
let result1 = str.substr(1, 4); // "ello"
let result2 = str.substring(1, 5); // "ello"

然而,当第一个参数是负数时,它们的结果是不同的。因为 substring() 将负数参数转换为 0,而 substr() 将负数参数解释为从结尾开始数的位置。例如:

let str = "hello world";
let result1 = str.substr(-3); // "rld"
let result2 = str.substring(-3); // "hello world"

因此,当需要从结尾开始提取子字符串时,应该使用 substr()

总之, substr()substring() 虽然有相似的功能,但它们的参数表达方式不同,需要根据具体情况谨慎使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript substr和substring用法比较 - Python技术站

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

相关文章

  • 12 款 JS 代码测试必备工具(翻译)

    首先,这篇文章主要介绍了12款JS代码测试必备工具,包括Jest、Mocha、Chai、Sinon、Enzyme、Cypress、Protractor、Karma、Nightwatch.js、Puppeteer、TestCafe和Codeceptjs。这些工具可以帮助开发者提高代码质量和测试效率。 以下是这些工具的详细介绍: Jest:Jest是一个建立在J…

    JavaScript 2023年5月27日
    00
  • JScript的条件编译

    JScript条件编译是一种用于限定JScript代码在不同平台或环境下执行的方法,它可以通过编译器指令来控制代码的编译或排除,这对于处理不同浏览器或操作系统上的兼容性问题非常有用。 基本语法 JScript条件编译使用如下的语法: /*@if [condition]*/ // code to evaluate if condition is true /*…

    JavaScript 2023年6月11日
    00
  • JS下高效拼装字符串的几种方法比较与测试代码

    下面是关于“JS下高效拼装字符串的几种方法比较与测试代码”的攻略。 什么是拼装字符串 在 JavaScript 中,我们可以将字符串拼接起来形成新的字符串。拼接字符串的方法有很多种,其中一些方法效率比其他方法更高。 常见的拼装字符串方法 使用 + 运算符: const strA = "Hello"; const strB = "…

    JavaScript 2023年5月28日
    00
  • 详解JS内存空间

    下面是详解JS内存空间的完整攻略。 什么是JS内存空间 JS内存空间是指JS程序运行时候所使用的内存区域。这个内存区域分为两个部分:栈内存和堆内存。在JS程序运行时,变量和函数都要被存储在内存空间中,以便被调用和使用。 栈内存和堆内存 栈内存 栈内存是以FIFO(先进先出)的方式存储数据的,它的存储方式和变量的生命周期有关系。当一个函数被调用时,会自动在栈内…

    JavaScript 2023年6月11日
    00
  • assert()函数用法总结(推荐)

    当我们编写程序时,为了保证程序的正常运行,需要对程序中的各个部分进行测试和验证。而assert()函数就是一个非常常用的测试和验证工具。 assert()函数介绍 assert()函数是C语言头文件中的一种调试工具,包含于库中。其作用是,如果传入的参数为0(即假),则表达式为false,会触发assert()函数,程序将会停止运行。assert()函数用于检…

    JavaScript 2023年6月10日
    00
  • javascript数组includes、reduce的基本使用

    下面详细讲解一下“JavaScript数组includes、reduce的基本使用”的攻略。在这个攻略中,我们将会讨论到:如何使用includes方法查找数组中的元素,以及如何使用reduce方法对数组进行累加计算。 includes方法 includes方法用于判断数组是否包含某个元素,返回值为布尔类型。它的语法如下: array.includes(sea…

    JavaScript 2023年5月27日
    00
  • js使用split函数按照多个字符对字符串进行分割的方法

    使用split函数按照多个字符对字符串进行分割的方法,主要需要借助split()函数和正则表达式。下面将结合两个具体示例来详细讲解该方法的操作步骤。 示例一:使用split函数按照多个字符进行分割 假设有以下一个字符串: const str = ‘apple|pear?banana#orange’; 现在需要按照‘|’、‘?’和‘#’这三个字符对字符串进行分…

    JavaScript 2023年5月28日
    00
  • JS实现HTML页面中动态显示当前时间完整示例

    JS可以通过调用内置的Date对象,来实现在HTML页面中动态显示当前时间,步骤如下: HTML部分 首先需要在HTML页面中准备好用来显示动态时间的元素,可以是<div>、<p>或<span>等,例如: <body> <p id="time"></p> </b…

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