【问题标题】:Replace specific parts of string替换字符串的特定部分
【发布时间】:2012-02-26 23:39:55
【问题描述】:

我有一个字符串,我正在尝试用空格替换标签中的所有 &nbsp。 然而,标签之外的所有 &nbsp 都不应该被替换,我基本上需要做的是检查 &nbsp 字符串前面是否有“

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

那么这个应该变成:

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

有没有办法检查 &nbsp 字符串前面是否有 "

【问题讨论】:

  • 你为什么不修复造成这种混乱的代码?
  • 问题是我在 div 中显示文本框的内容,所以我必须将字符串中的空格更改为 &nbsp 否则浏览器会将多个空格缩短为一个。例如:“你好……论坛!” (删除点)将缩短为“你好论坛!”。

标签: javascript string replace space


【解决方案1】:

如果您可以控制字符串的内容,您应该考虑包含分号,原因是 Kolink 所描述的。

不管怎样,这都能解决问题(在这个例子中,我包括了分号):

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

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

【讨论】:

  • 当然,这很明显.. 感谢 Purmou 的出色而快速的回答!
  • @user1199434:实际上,它是行不通的。查看我的最新编辑。 (如果我提供了帮助,接受答案当然会有所帮助)。
  • 这确实工作得很好,我只是使用了 string.replace("
【解决方案2】:

实体是&amp;nbsp;,末尾有一个分号。仅仅因为浏览器不费心寻找分号,并不意味着它是可选的。它是必需的,否则实体格式错误,更严格的浏览器可能会拒绝它。

除此之外,您的问题非常容易解决:将 /&lt;a&amp;nbsp/g 替换为 "&lt;a "。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    • 2012-07-17
    相关资源
    最近更新 更多