问题:html中代码段包含了$,在使用replace替换时,$直接被替换了
解决:先把文本中的$全部替换成自己定义的标签,最后在还原回去
原因:在介绍replace的文档中,$&代表插入匹配的子串

example:
let code = `<pre><code>
private String ge(String service) { String head = &quot;DBO$&quot; ↵
}↵</code></pre>`
let str = `<p>一些文字我不知道些什么了,$,一些文字我不知道些什么了</p><p>MY_TAG</p><p>一些文字我不知道些什么了,$,一些文字我不知道些什么了</p>`

function cutHtml (html) {
console.log(html.replace(/<p>MY_TAG<\/p>/ig, code))
}

cutHtml(str)

// 修改后
function cutHtml2 (html) {
html.replace(/\$/ig, '<p>MY_CHAR</p>')
let code1 = code.replace(/\$/ig, '<p>MY_CHAR</p>')
html = html.replace(/<p>MY_TAG<\/p>/ig, code1)
console.log(html.replace(/<p>MY_CHAR<\/p>/g, '$'))
}

replace的坑的更多相关文章

  1. 千万小心,99%的Java程序员会踩这些坑

    前言 作为Java程序员的你,不知道有没有踩过一些基础知识的坑. 有时候,某个bug查了半天,最后发现竟然是一个低级错误. 有时候,某些代码,这一批数据功能正常,但换了一批数据就出现异常了. 有时候, ...

  2. FragmentTransaction.replace() 你不知道的坑

    一.起源: 先看效果,在linearLayout中添加了4个Fragment,然后点击替换一次确替换了两个Fragment,引发了我的研究兴趣: 第一次启动                       ...

  3. mysql replace into用法与坑

    需要主键一致 PRIMARY KEY (id) PRIMARY KEY (id, ts) 坑: https://blog.xupeng.me/2013/10/11/mysql-replace-into ...

  4. 曾经跳过的坑------replace、替换斜杠反斜杠、时间格式化处理

    JAVA 中: 坑一: replace没有用对象进行接收.直接使用 dateStr.replaceAll("\\/", "-"); 是不行的,至少得加上 &qu ...

  5. JavaScript正则表达式replace的一个坑

    题图来自:https://wallhaven.cc/w/md353k 经常听大家说JavaScript是魔法语言,咱却没有什么深刻体会.直到这回踩到这个坑,我终于醒悟了,JavaScript果然来自霍 ...

  6. MySQL "replace into" 的坑

    MySQL 对 SQL 有很多扩展,有些用起来很方便,但有一些被误用之后会有性能问题,还会有一些意料之外的副作用,比如 REPLACE INTO. 比如有这样一张表: CREATE TABLE `au ...

  7. MySQL "replace into" 的坑以及insert相关操作

    下面我们主要说一下在插入时候的几种情况: 1:insert ignore 2:replace into 3:ON DUPLICATE KEY UPDATE 关于insert ignore: 关于rep ...

  8. replace未全局替换的坑

    今天是名副其实的周六.悠闲了一早上(太阳). 真是人在家中坐,BUG自天上来.哈哈其实也不是自天上来,还是自己之前埋下的雷. 所以修复完线上的bug,我脑中立刻浮现出两件还需要做的事情: 一,就是我现 ...

  9. [转] MySQL "replace into" 的坑 (5.5 ROW格式)

    MySQL 对 SQL 有很多扩展,有些用起来很方便,但有一些被误用之后会有性能问题,还会有一些意料之外的副作用,比如 REPLACE INTO. 比如有这样一张表: 1 2 3 4 5 6 7 8 ...

随机推荐

  1. Cache缓存设计

    缓存的适用场景: 缓存的目的是提高访问速度,减少不必要的开销,提高性能.那什么样的场景适用于缓存呢.试想一个多项式的计算是一个CPU bound的操作,如果频繁调用同一个多项式的结果.显然缓存结果是一 ...

  2. NameError: name 'unicode' is not defined

    更改Unicode为str 然后重新setup install

  3. BZOJ 3437: 小P的牧场

    传送门 显然考虑 $dp$,设 $f[i]$ 表示前 $i$ 个牧场都被控制的最小代价 那么枚举所有 $j<i$ ,$f[i]=f[j]+val[i][j]+A[i]$ $val[i][j]$ ...

  4. GTP

     GPRS隧道协议(GPRS Turning Protocol) GTP是一个高层协议,位于TCP/IP或UDP/IP等协议上,提供主机间端到端通信, 通过隧道标志(TEI)在路径协议上复用  GTP ...

  5. RSAUtils非对称加密

    import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.util.encoders.Bas ...

  6. 高并发和多线程——Java内存模型

    个人理解: 1.并发编程分为三个核心:分工.同步.互斥 2.CPU.内存.I/O存在速度差异问题. 3.线程切换导致原子性问题.编译优化导致有序性问题.缓存导致可见性问题. 4.Java内存模型规范了 ...

  7. input输入框中只能输入数字,非数字字符自动清除

    前言:项目中有个缴纳保证金的功能,要是输入框只能输入数字,不能输入其他字符. ①HTML代码:<input class="input-box" type="text ...

  8. 【Qt开发】更改应用程序图标和任务栏图标

    说明 实际开发过程中,生成的应用文件不会用默认的图标,同时程序启动后任务栏的图标也需要修改,还有窗口的图标,这样显得程序不那么low.更改程序的图标有多种方式,基于Qt Creator或vs开发的方式 ...

  9. html的img标签

    html显示图片 1.最简单: <img src="图片路径"/> 2.如果要改变图片显示的尺寸 <img src="图片路径" width= ...

  10. Hibernate 多对一映射

    <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBL ...