2010-11-15 117 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