当前位置:首页 > JavaScript

js实现 substring

2026-02-01 12:30:04JavaScript

实现 substring 的方法

在 JavaScript 中,substring 是字符串对象的一个方法,用于提取字符串中介于两个指定下标之间的字符。以下是几种常见的实现方式和使用场景。

使用原生 substring 方法

JavaScript 字符串原生提供了 substring 方法,语法如下:

str.substring(startIndex, endIndex)
  • startIndex:必需,指定开始提取的位置(包含该位置的字符)。
  • endIndex:可选,指定结束提取的位置(不包含该位置的字符)。如果省略,则提取到字符串末尾。

示例:

const str = "Hello, World!";
const result = str.substring(0, 5); // 输出 "Hello"

使用 slice 方法

slice 方法与 substring 类似,但支持负数索引(从字符串末尾开始计算):

js实现 substring

str.slice(startIndex, endIndex)

示例:

const str = "Hello, World!";
const result = str.slice(0, 5); // 输出 "Hello"
const result2 = str.slice(-6, -1); // 输出 "World"

使用 substr 方法(已废弃)

substr 方法从指定位置开始提取指定长度的字符,语法如下:

js实现 substring

str.substr(startIndex, length)
  • startIndex:必需,开始提取的位置。
  • length:可选,提取的字符数。如果省略,则提取到字符串末尾。

示例:

const str = "Hello, World!";
const result = str.substr(0, 5); // 输出 "Hello"

注意:substr 已废弃,不推荐在新代码中使用。

手动实现 substring

如果需要手动实现 substring 的功能,可以通过循环或数组操作完成:

function customSubstring(str, start, end) {
    if (end === undefined) end = str.length;
    let result = "";
    for (let i = start; i < end && i < str.length; i++) {
        result += str[i];
    }
    return result;
}

const str = "Hello, World!";
const result = customSubstring(str, 0, 5); // 输出 "Hello"

注意事项

  • substringslice 的主要区别在于对负数的处理:substring 会将负数视为 0,而 slice 会从字符串末尾计算。
  • 如果 startIndex 大于 endIndexsubstring 会自动交换两者的位置,而 slice 不会。

通过以上方法,可以灵活地实现字符串的子串提取需求。

标签: jssubstring
分享给朋友:

相关文章

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…