替换字符串的特定部分

时间:2012-02-26 23:39:55

标签: javascript string replace space

我有一个字符串,我正在尝试用空格替换所有内部标签。 但是,标签外部的所有内容都不应该被替换,我基本上需要做的是检查& nbsp字符串是否在其前面有“< a”(没有空格)。例如,如果我有字符串:

&nbsp<a&nbsphref="#"></a>

然后这应该变成:

&nbsp<a href="#"></a>

有没有办法检查&amp; nbsp字符串之前是否有“&lt; a”,是否确实取代了它? 我已经看过javascript替换功能,我知道如何替换所有&amp; nbsp字符串,但不仅仅是具有特定字符串的字符串。 希望有意义,让我知道你是否有任何想法,谢谢:)

2 个答案:

答案 0 :(得分:0)

如果你可以控制字符串是什么,你应该考虑包括分号,因为Kolink描述的原因。

无论哪种方式,这都可以解决问题(在本例中,我包含分号):

var string = "&nbsp;<a&nbsp;href='#'></a>";
string.replace("<a&nbsp;","<a ");

这会在字符串中查找短语<a&nbsp;,并将其替换为<a

答案 1 :(得分:0)

实体为&nbsp;,末尾带有分号。仅仅因为浏览器没有找到分号,并不意味着它是可选的。它是必需的,否则实体形成不良,更严格的浏览器可能会拒绝它。

除此之外,您的问题解决起来非常简单:将/<a&nbsp/g替换为"<a "