2010-11-15 66 views
4

删除所有
我有我想删除的<br>从字符串

所有出现我尝试这样做,也没有工作的字符串。

productName = productName.replace("<br>"," "); 

但是这个工作,但只在第<br>

productName = productName.replace("&lt;br&gt;"," "); 

我将如何得到它的字符串中的所有<br>工作。

编辑:这是串...

00-6189 Start Mech Switch&lt;br&gt;00-6189 Start Mech Switch&lt;br&gt;00-6189 Start Mech Switch&lt;br&gt;

我为是有点误导与<br>,因为它本来应该&lt;br&gt;

+0

如果你用我的方式,你可以写或<或<,>或> i – DavideDM 2010-11-15 17:03:06

回答

7

看起来像你的字符串被编码,所以使用

productName = productName.replace(/&lt;br&gt;/g," "); 

请注意g之后的正则表达式,这意味着全局匹配所有匹配项。

演示在http://www.jsfiddle.net/gaby/VDxHx/

+0

Thx做到了这一点,对不起,每个人最初都会误导。 – user357034 2010-11-15 12:36:45

5

你可以在使用g标志你道歉正则表达式。这表示替换将在所有事件中全局执行,而不仅仅在第一次执行时执行。

productName = productName.replace(/\<br\>/g," "); 

当然,你应该知道,这不会取代<br/>也不<br />但只有<br>

看到这个工作在ideone上的example


UPDATE:

现在你已经具备您输入的例子这里是你可能会使用一个正则表达式的工作,以取代:

productName = productName.replace(/&lt;br&gt;/g, ' '); 
+0

+1,但解释为什么国旗是有意义的(以及它是什么)也许不会受到伤害。 – 2010-11-15 12:26:14

+0

@nikc:你不知道如何访问语言文档吗? – tchrist 2010-11-15 12:27:16

+0

抱歉不起作用 – user357034 2010-11-15 12:27:21

0

我没有测试它,但你可以尝试像这样

productName.replace(/\<br\>/g,' '); 
6

使用正则表达式,你可以使用这个模式

/(<|&lt;)br\s*\/*(>|&gt;)/g 
productName = productName.replace(/(<|&lt;)br\s*\/*(>|&gt;)/g,' '); 

这种模式匹配

<br>, <br />,<br/>,<br  />,<br >, 
or &lt;br&gt;, &lt;br/&gt;, &lt;br /&gt; 

等等

+2

全民医药 – Deeb 2014-02-05 06:15:40

+0

当其他一切都失败了,成功了! – 2018-02-25 12:23:53