首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串中的RegExp :替换“大于”符号

字符串中的RegExp :替换“大于”符号
EN

Stack Overflow用户
提问于 2015-10-20 06:21:51
回答 3查看 1.2K关注 0票数 2

如果我有一个包含>符号的s tring,如何使用正则表达式替换它,这是使用new RegExp()从字符串构造的。

代码语言:javascript
复制
var s = "\\>:\\)"; // this is definetely wrong string for regexp contructor
var reg = new RegExp(s, "g");
alert(msg.replace(reg, "IT WORKS!!");

替换:)不是一个问题,new RegExp(":\\)","g")工作得很好,但是如何将>添加到regexp以使其工作呢?

[游乐场及演示]

同样,必须通过向RegExp构造器指定正确的字符串来完成

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-20 06:26:26

问题在于html()html()将对字符串进行编码并返回

代码语言:javascript
复制
this is angry smile >:) how it looks?
                    ^^^^

使用text而不是html,或者使用regex />:\)/g替换编码的>

此外,也不需要转义>

演示

代码语言:javascript
复制
var msg = $("pre").text();
var s = ">:\\)";
var reg = new RegExp(s, "g");

$("pre").html( msg.replace(reg, "IT WORKS!!") )
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<pre>this is angry smile >:) how it looks?</pre>

票数 2
EN

Stack Overflow用户

发布于 2015-10-20 06:29:20

您的问题不是RegExp,而是对html()的调用。

我在这里有一个更新的jsfiddle :工作的http://jsfiddle.net/sx8bxmnw/

代码语言:javascript
复制
var msg = $("pre").text();
var s = ">:\\)";
var reg = new RegExp(s, "g");
$("pre").text( msg.replace(reg, "IT WORKS!!") )

为了回答你最初的问题,Pranav C Balan的评论是正确的。

票数 0
EN

Stack Overflow用户

发布于 2015-10-20 06:30:41

尝试以下几个方面:

代码语言:javascript
复制
var msg = $("pre").html();

var s = "\\&gt;:\\)";
var reg = new RegExp(s);

$("pre").html( msg.replace(reg, "IT WORKS!!") )

更新的小提琴

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33229386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档