如何替换JS字符串中匹配到多处中某一指定节点?

2024-01-16 07:58

本文主要是介绍如何替换JS字符串中匹配到多处中某一指定节点?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来源 | https://www.cnblogs.com/class1/p/14273231.html

问题先行,要求搜索关键字,匹配到四处,那我鼠标放在第二处,我想把它变个颜色,该怎么实现呢?截图如下:

对于如何替换JS字符串中匹配到多处中某一指定节点?今天我们一起来看看。

字符串的替换,我们首先想到的一个属性是replace:

strObject.replace(reg/substr,replacement)


两个参数,第一个参数,需要替换的值(可以是正则匹配式也可以是字符串),第二个参数,替换成的值。

str ="abcdefabdrdwss";str.replace(/"ab"/g, "xy"); console.log(str)  // xycdefxydrdwss

当我们使用正则表达式,如上,加上g,就是全局匹配,不加就是匹配第一个。但是我就想替换第二处的ab。好像没有直接可用的api。那我们可不可以拿到第二处的下标位置,通过字符串截取拼接的方式实现呢?

顺着这个思路,如何找到第二处的下标位置。

 let str ="abcdefabdrdwss";    const reg = new RegExp(‘ab‘, ‘g‘);    let ret;    const arr=[];    while((ret = reg.exec(str))!==null) {      arr.push({id:ret.index,content:ret.input}) // 通过循环把每次匹配的开始下标都放到arr中    }   console.log(arr) //[{id:0,content:"abcdefabdrdwss"},{id:6,content:"abcdefabdrdwss"}]

每处的下标都收集到了,再看如何替换。

  // 字符串的替换,四个参数,第一个是原始字符串,第二个是替换的开始位置,第三是替换的内容    //第四个参数,这里是替换几位index就加几    const replaceStr = (strs, index, text,len) => {      return strs.substring(0, index) + text + strs.substring(index + len);    }; 

结合上面的内容,可以直接替换第二个"ab"了:

const newVal= replaceStr(str, arr[1].id, ‘xy‘,2);console.log(newVal)  // abcdefxydrdwss

附上完整的js代码示例:

 const str ="这是主体内容,有很多内容,喜欢看这个内容就关注吧";    const reg = new RegExp(‘内容‘, ‘g‘);    let ret;    const arr=[];    while((ret = reg.exec(str))!==null) {      arr.push({id:ret.index,content:ret.input})     }  const replaceStr = (strs, index, text,len) => {      return strs.substring(0, index) + text + strs.substring(index + len);    }; // 替换文本的第三处“内容”为 “文章”const newVal= replaceStr(str, arr[2].id, ‘文章‘,2);console.log(newVal)  // 这是主体内容,有很多内容,喜欢看这个文章就关注吧

本文完~

这篇关于如何替换JS字符串中匹配到多处中某一指定节点?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/611824

相关文章

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4