你所不知道的replace

简介: 差不多的replace,差不多的方法,你也差不多的用……

差不多的replace,差不多的方法,你也差不多的用……(节奏有点邓紫棋的《差不多姑娘》)

众所周知,replace(params1,params2)有俩个参数,第一个为需要替换的原内容,第二个为最终要替换为的内容。

我这里的使用场景,匹配一段文本中所有带有书名号的书名,并将书名单独加标签并区别颜色

params1:其实也可以为一个函数,我们封装一个正则,如下:

regBook() {
    let reg = /《(.*?)》/g
    return reg;
}

将 regBook() 可以作为 params1

params2:其实同样可以作为一个函数,可以在函数中,操作输出你需要的结果:

let str = "这是一段文本,文本中夹杂着《书籍1》,《书籍2》,甚至还有《书籍3》以及其他书籍"
let new_str = str.replace(regBook(), key => {
    let node = '<span style="color: #409eff">' + key + "</span>";
    return node;
});
// 选择操作的节点
let element = this.$el.getElementsByClassName("className")[0]
element.innerHTML = new_str;

好了,现在选中的节点中的书籍单独添加了标签,并区别了颜色。

replace的方法是不是大有不同呢,其实同理,其他方法和函数也都一样,参数都可以是函数,具体看自己的使用场景了,结合起来,就能达到意想不到的成果,可以解决很多棘手问题。

相关文章
|
项目管理
项目管理办公室(Project Management Office)
当今的商业环境变得越来越复杂,项目管理成为了成功实施战略和取得竞争优势的关键。为了更好地管理和协调项目,许多组织都建立了项目管理办公室(PMO)。本文将详细探讨PMO的概念、功能以及它们在项目管理中的重要性。
|
8月前
|
设计模式 前端开发 Java
【Filter / Interceptor】过滤器(Filter)与拦截器(Interceptor)全方位对比解析(附底层原理 + 核心对比表)
本文系统梳理Filter与Interceptor的8大维度:从核心定位、底层原理到执行流程、场景选型。明确Filter属Servlet规范、容器级拦截,覆盖所有HTTP请求;Interceptor属Spring规范、MVC级拦截,专注业务请求且可注入Bean。附对比表、时序图、避坑指南与最佳实践。
1610 10
|
5月前
|
数据采集 缓存 监控
1688 商品详情 API:实时获取 SKU 批发价与库存(Python 调用实战)
1688商品详情接口支持通过ID或链接实时获取SKU、阶梯批发价、活动价、库存等动态数据,适用于比价、监控、ERP同步。无需自研爬虫,规避风控;提供Python示例、分层缓存、轮询策略与容错机制,保障数据时效性与稳定性。
667 0
|
6月前
|
人工智能 缓存 Java
Microsoft大规模取消 Claude Code 授权,内部强制向 Copilot CLI 迁移
本文实测对比Claude Code、Cursor与Copilot在2.8万行Java遗留系统重构中的表现:Claude Code凭借Dreaming机制与自我审查能力,以更低Token消耗(4.2万)、更短交互时间(18分钟)和更高代码质量胜出;Cursor适合日常编辑但易陷局部最优;Copilot在复杂跨服务Agentic任务中力不从心。结论:Agentic Coding时代胜负手在于规划-执行-验证-进化闭环能力,而非单纯模型参数。
402 0
|
10月前
|
人工智能 监控 安全
AI智能体的上线流程
AI智能体上线已成系统工程:涵盖算法备案、安全护栏(输入过滤/输出审核/RBAC)、自动化测评(LLM裁判+红蓝对抗)、容器化部署与灰度发布,以及生产环境全链路监控(Tracing、TTFT、Token成本、反馈闭环),确保合规、安全、稳定、可运维。
|
安全 Java 数据库
ifPresent()`方法的用途、使用场景
ifPresent()`方法的用途、使用场景
1722 4
|
11月前
|
Prometheus 监控 Cloud Native
Debian大数据监控配置(手把手教你搭建开源监控系统)
本教程带你从零搭建Debian系统下的开源监控体系,集成Prometheus、Node Exporter和Grafana,实现系统性能监控与数据可视化,适用于大数据环境及各类服务器运维场景。
|
XML Java API
List与String相互转化的方法有哪些
摘要:本文概述了Java中List转换为String及反之的多种策略。使用`String.join()`可简洁地连接List元素;`StringBuilder`提供灵活控制;Java 8 Stream API收集器简化操作;Apache Commons Lang3的`StringUtils.join()`和Guava的`Joiner.on()`支持外部库的高效转换。
1098 2
|
Oracle 关系型数据库
Oracle查询优化-在字符串删除特定字符
【2月更文挑战第4天】【2月更文挑战第8篇】比较灵活,列举三个常见的方式
1358 0