1

在尝试使用正则表达式替换部分字符串时。

这是我的字符串

"<p>0</p>
<p>0</p> 
<p>&nbsp;</p>
<p>1</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>2</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>3</p>"

我在做这个

aboveString.replace('/<p>\&nbsp;<\/p>/g','<br style="clear:both;" />')

我需要替换所有实例

<p>&nbsp;</p>

替换为

<br style="clear:both;" />

你能告诉我我哪里错了吗?

4

3 回答 3

5

您的正则表达式'/<p>\&nbsp;<\/p>/g'不是正则表达式,它是一个字符串。删除引号以使其成为正则表达式文字:

aboveString.replace(/<p>\&nbsp;<\/p>/g,'<br style="clear:both;" />')

演示:http: //jsfiddle.net/pTqgX/

于 2013-09-07T13:21:19.167 回答
3

我知道,它与正则表达式有关,但如果没有正则表达式,它显然是可行的:

aboveString.split('<p>&nbsp;</p>').join('<br style="clear:both;" />');

Fiddle

现在给我投反对票,朋友们

于 2013-09-07T13:20:49.520 回答
2
aboveString.replace(/<p>\&nbsp;<\/p>/g,'<br style="clear:both;" />')

在Javascript中你不要在里面写正则表达式""。里面写的每一件事""都被视为字符串。:)

于 2013-09-07T13:30:44.227 回答