Javascript替换字符串中的文本

时间:2010-06-17 19:57:26

标签: javascript regex replace

我在使用正则表达式替换字符串中所有字符串的出现时遇到了一些麻烦。

**What to replace:**
href="/newsroom

**Replace with this:**
href="http://intranet/newsroom

这不起作用:

str.replace(/href="/newsroom/g, 'href="http://intranet/newsroom"');

有什么想法吗?

修改

我的代码:

str = '<A href="/newsroom/some_image.jpg">photo</A>';
str = str.replace('/href="/newsroom/g', 'href="http://intranet/newsroom"');
document.write(str);

谢谢, Tegan

3 个答案:

答案 0 :(得分:3)

三件事:

  • 您需要将结果分配回变量,否则结果将被丢弃。
  • 您需要在正则表达式中转义斜杠。
  • 您不希望替换字符串中的最终双引号。

请改为尝试:

str = str.replace(/href="\/newsroom/g, 'href="http://intranet/newsroom')

结果:

<A href="http://intranet/newsroom/some_image.jpg">photo</A>

答案 1 :(得分:2)

你需要逃避正斜杠,如下:

str.replace(/href="\/newsroom\/g, 'href=\"http://intranet/newsroom\"');

请注意,我还在替换参数中转义了引号。

答案 2 :(得分:1)

这应该有效

 str.replace(/href="\/newsroom/g, 'href=\"http://intranet/newsroom\"')

更新:
这将只替换给定的字符串:

str = '<A href="/newsroom/some_image.jpg">photo</A>';
str = str.replace(/\/newsroom/g, 'http://intranet/newsroom');
document.write(str);