js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解

yizhihongxing

那我就为你介绍一下 Javascript 中几个常用字符串相关的方法。

1. substr

substr() 方法用于截取字符串中的任意部分,并返回截取的结果。substr() 方法有两个参数,第一个参数是起始索引位置,第二个参数是截取的长度。如果不指定第二个参数,则截取到末尾。其语法如下:

str.substr(start[, length])

示例代码:

const str = 'Hello, World!'

const subStr1 = str.substr(0, 5) // 截取 'Hello'
const subStr2 = str.substr(7)    // 截取 'World!'
const subStr3 = str.substr(-6)   // 截取 'World!'

上述代码中,subStr1 截取了字符串 str 中从索引0开始长度为5的部分,即截取了 'Hello'。subStr2 截取了字符串 str 中从索引7开始到末尾的部分,即截取了 'World!'。而 subStr3 截取了字符串 str 中从索引-6开始到末尾的部分,因为负数索引从末尾算起。

2. substring

substring() 方法用于截取字符串中的任意部分,并返回截取的结果。substring() 方法有两个参数,分别表示截取的起始位置和截取的结束位置(不包括该位置)。如果省略第二个参数,则截取到末尾。其语法如下:

str.substring(indexStart[, indexEnd])

示例代码:

const str = 'Hello, World!'

const subStr1 = str.substring(0, 5) // 截取 'Hello'
const subStr2 = str.substring(7)    // 截取 'World!'

上述代码中,subStr1subStr2substr() 的使用方法和结果相同。

3. indexOf

indexOf() 方法用于查找字符串中是否包含指定的子串,并返回该子串在字符串中的第一次出现的位置索引。如果没有找到,则返回 -1。其语法如下:

str.indexOf(searchValue[, fromIndex])

示例代码:

const str = 'Hello, World!'

const index1 = str.indexOf('o')      // 返回 4,第一个出现 'o' 的位置
const index2 = str.indexOf('o', 5)   // 返回 8,从索引 5 开始查找,第一个出现 'o' 的位置
const index3 = str.indexOf('foo')    // 返回 -1,不存在 'foo' 字符串

上述代码中,index1 查找 str 中第一个出现 'o' 的位置,因为第一个 'o' 的位置是索引 4,所以返回 4。index2 从索引 5 开始查找,查找到第一个出现 'o' 的位置是索引 8,因为起始位置大于或等于字符串长度,所以直接返回 -1。index3 查找字符串中有没有 'foo' 这个子串,没有则返回 -1。

4. lastIndexOf

lastIndexOf() 方法与 indexOf() 方法类似,用于查找字符串中是否包含指定的子串,并返回该子串在字符串中最后一次出现的位置索引。如果没有找到,则返回 -1。其语法如下:

str.lastIndexOf(searchValue[, fromIndex])

示例代码:

const str = 'Hello, World!'

const index1 = str.lastIndexOf('o')      // 返回 8,最后一个出现 'o' 的位置
const index2 = str.lastIndexOf('o', 5)   // 返回 4,从索引 5 开始向前查找,最后一个出现 'o' 的位置
const index3 = str.lastIndexOf('foo')    // 返回 -1,不存在 'foo' 字符串

上述代码中,index1 查找 str 中最后一个出现 'o' 的位置,因为最后一个 'o' 的位置是索引 8,所以返回 8。index2 从索引 5 开始向前查找,查找到最后一个出现 'o' 的位置是索引 4,因为起始位置小于或等于零,所以直接返回 -1。index3 查找字符串中有没有 'foo' 这个子串,没有则返回 -1。

5. split

split() 方法用于将字符串按指定的分隔符分割成数组。其语法如下:

str.split(separator[, limit])

该方法有两个参数,separator 表示分隔符,如果省略该参数,则返回的数组仅包含字符串本身。limit 表示返回的数组长度,如果省略该参数,则返回的数组长度不作限制。示例代码:

const str = 'Hello, welcome to HTMl5!'

const arr1 = str.split(' ')     // 分割字符串,使用空格作为分隔符
const arr2 = str.split(' ', 2)  // 分割字符串,使用空格作为分隔符,返回长度为2的数组

上述代码中,arr1 使用空格作为分隔符将字符串 str 分割成了一个数组,即 ["Hello,", "welcome", "to", "HTMl5!"]arr2 同样使用空格作为分隔符分割字符串 str,但限定了返回的数组长度为2,即 ["Hello,", "welcome"]

6. replace

replace() 方法用于字符串中的子串进行替换或删除操作,并返回替换后的新字符串。其语法如下:

str.replace(regexp|substr, newSubstr|function)

该方法有两个参数,第一个参数可以是字符串或正则表达式,表示要查找的目标子串;第二个参数可以是字符串或函数,表示替换后的新子串。如果第一个参数是正则表达式,则 replace() 方法只替换第一个匹配到的子串,如果需要替换多个匹配到的子串,需要使用全局匹配 g 模式的正则表达式。示例代码:

const str = 'Hello, welcome to HTMl5!'

const newStr1 = str.replace('HTMl5', 'JavaScript')         // 替换字符串中的 HTMl5 为 JavaScript
const newStr2 = str.replace(/HTMl5/g, 'JavaScript')       // 替换字符串中的多个 HTMl5 为 JavaScript
const newStr3 = str.replace(/(\w+)\s(\w+)/, '$2 $1')      // 将字符串中的单词位置颠倒
const newStr4 = str.replace(/\s/g, '')                    // 删除字符串中的空格

上述代码中,newStr1 将字符串中的 'HTMl5' 替换成了 'JavaScript',即 'Hello, welcome to JavaScript!'。newStr2 将字符串中的所有 'HTMl5' 替换成了 'JavaScript',即 'Hello, welcome to JavaScript!'。newStr3 将字符串中的一个单词位置颠倒了,即 'Hello, to welcome HTMl5!'。newStr4 将字符串中的空格全部删除了,即 'Hello,welcometoHTMl5!'。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解 - Python技术站

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

相关文章

  • DOM基础教程之事件对象

    首先我们需要知道什么是DOM,它是文档对象模型(Document Object Model)的缩写,是W3C组织推荐的处理HTML和XML文档的标准API。在HTML中,DOM用于访问和操作文档中的元素。而在JavaScript中,DOM则是访问和操作HTML元素的标准方式。 DOM的事件机制是一种事件触发和事件处理的机制。一个事件通常是用户交互产生的,例如…

    JavaScript 2023年6月10日
    00
  • Javascript中内建函数reduce的应用详解

    Javascript中内建函数reduce的应用详解 简介 reduce是JavaScript中的一个内建函数,主要用于对数组中的元素进行累加计算。在使用reduce之前,需要先理解一些概念。 reduce()方法:reduce() 方法接收两个参数: 一个回调函数,也称为累加器函数(accumulator)。它将原数组中的每个元素和累加器参数进行运算,并返…

    JavaScript 2023年5月27日
    00
  • JavaScript中Function函数与Object对象的关系

    在JavaScript中,函数和对象是密切相关的。每个函数都是一个对象,并且可以像对象一样使用和传递。在此过程中,函数在对象中的重要性很大。下面将详细讲解Function函数和Object对象之间的关系。 Function与Object 每一个函数都是一个Function类型的对象,因此具有Function所继承的方法和属性。函数的定义可以采用最简单的字面量…

    JavaScript 2023年5月27日
    00
  • Javascript RegExp multiline 属性

    JavaScript RegExp的multiline属性 JavaScript的RegExp对象中的multiline属性是一个布尔值,表示正则表达式是否具有多行标志m。当multiline属性为true,正则表达式将匹配多行文本。 语法 multiline属性的语法如下: RegExp.multiline 示例1:使用multiline属性匹配多行文本 …

    JavaScript 2023年5月11日
    00
  • javascript中的有名函数和无名函数

    JavaScript中的函数可以分为有名函数和无名函数两种类型。有名函数为函数定义指定了一个名称,而无名函数则没有。 有名函数 函数定义 有名函数最基本的定义方式就是定义一个函数名,并编写函数体: function add(a, b) { return a + b; } 这是定义一个相加函数的示例,函数名为add,接受两个参数a和b,并返回a和b的和。 函数…

    JavaScript 2023年5月27日
    00
  • javascript中 try catch用法

    关于“JavaScript中try catch用法”的完整攻略,我为您总结如下: 什么是try catch try catch 是一个 JavaScript 异常处理机制,通过 try 语句块可以捕获代码中的异常,并在 catch 语句块中对异常进行处理,保证代码的正常执行。 try catch 语句格式 try { // 可能会抛出错误的代码 } catc…

    JavaScript 2023年5月28日
    00
  • JavaScript动画函数封装详解

    JavaScript动画函数封装详解 在网页开发中,我们经常需要运用动画效果来增强页面的交互性和美观度。JavaScript作为前端开发的重要组成部分,也提供了多种方式来实现动画效果。本篇文章将详细讲解如何封装JavaScript动画函数,让动画开发变得更加高效便捷。 为什么要封装JavaScript动画函数 在开发过程中,我们会遇到多个地方需要实现相似的动…

    JavaScript 2023年5月27日
    00
  • Javascript实现秒表倒计时功能

    下面是“Javascript实现秒表倒计时功能”的完整攻略。 1. 准备工作 在开始编写代码实现倒计时功能之前,我们需要先准备一些基本的内容。具体包括以下几点: 1.1 确定计时的起点和终点 倒计时功能要想实现,我们需要确定计时的起点和终点。你可以自己设定一个时间,如5分钟(300秒),也可以通过用户输入动态获取倒计时的时间。 1.2 设计页面元素 在页面上…

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