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

那我就为你介绍一下 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日

相关文章

  • JavaScript的ExtJS框架中表格的编写教程

    下面是JavaScript的ExtJS框架中表格的编写教程的完整攻略。 1. 概述 JavaScript的ExtJS框架提供了丰富的表格组件,能够满足各种需求。本攻略将详细介绍如何在ExtJS中编写表格组件。 2. 表格的基本结构 表格组件由表头和表格数据两部分组成。表头定义表格列的名称和宽度,表格数据为表格中实际展示的数据。 3. 表头的编写 表头的编写需…

    JavaScript 2023年6月10日
    00
  • javascript动画对象支持加速、减速、缓入、缓出的实现代码

    实现JavaScript动画对象支持加速、减速、缓入、缓出的过程基本分为以下几个步骤: 定义动画对象,设置初始值和目标值 设置动画的持续时间、缓动方式等参数 在动画前缓存当前状态 执行动画过程,不断更新当前状态 到达目标值后停止动画 下面详细介绍一下每个步骤 1. 定义动画对象 定义动画对象可以使用原生Javascript实现,例如: var element…

    JavaScript 2023年6月10日
    00
  • js数组循环遍历数组内所有元素的方法

    当我们需要操作一个数组内的所有元素时,循环遍历就是最基本的方法之一。 使用for循环 for 循环是最常用的循环语句之一,可以很方便地遍历数组中的所有元素。 const arr = [0, 1, 2, 3, 4, 5]; for (let i = 0; i < arr.length; i++) { console.log(arr[i]); } 上述代码…

    JavaScript 2023年5月27日
    00
  • 非常好用的JsonToString 方法 简单实例

    接下来我将详细讲解如何实现一个非常好用的“JsonToString”方法。本攻略包含以下几个部分: 什么是JsonToString方法 JsonToString方法的实现原理 如何使用JsonToString方法 示例说明 1. 什么是JsonToString方法 JsonToString方法是将一个JSON对象转换为字符串的方法。在前端开发中,经常需要将J…

    JavaScript 2023年5月27日
    00
  • AJAX在GB2312的中文编码传输 AJAX特殊字符编码正确方法

    AJAX(Asynchronous JavaScript and XML)是一种在不重新加载页面的情况下从服务器异步获取数据的技术。在Ajax请求中,中文传输时需要注意编码的问题。在GB2312编码中,中文会以两个字节进行编码,而某些非中文字符则只使用一个字节,这可能会导致接收方在解析数据时出现混乱。以下是AJAX在GB2312编码中文传输的完整攻略: 步骤…

    JavaScript 2023年6月1日
    00
  • js字符串倒序的实例代码

    下面就是详细讲解“js字符串倒序的实例代码”的完整攻略了。 1. 文章说明 本文旨在介绍如何使用JavaScript实现将字符串倒序输出的方法。字符串倒序输出是指将原字符串中的字符反转过来,使得原本在第1个位置的字符出现在倒数第1个位置上,原本在第2个位置的字符出现在倒数第2个位置上,依此类推。 2. 方法一 下面是一段比较简单的代码实现: function…

    JavaScript 2023年5月28日
    00
  • 三种方法让Response.Redirect在新窗口打开

    当使用Response.Redirect方法时,页面会在当前浏览器窗口中打开跳转的页面,如果需要在新的窗口中打开跳转页面,可以采用以下三种方法: 1. 在服务器端页面上使用ClientScript.RegisterStartupScript方法 使用ClientScript.RegisterStartupScript方法可以在服务器端页面上注册启动JavaS…

    JavaScript 2023年6月11日
    00
  • JavaScript 判断判断某个对象是Object还是一个Array

    判断某个对象是Object还是Array,可以通过以下代码实现: if (typeof obj === ‘object’ && obj instanceof Array) { // obj是Array类型 } else { // obj是Object类型 } 关键点解释: typeof obj === ‘object’:使用typeof操作符…

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