如何替换字符串中的多个项目?

时间:2011-02-08 18:27:26

标签: javascript regex replace

开始字符串:

I like [dogs], [cats], and [birds]

需要最终输出:

I like <a href="#">dogs</a>, <a href="#">cats</a>, and <a href="#">birds</a>

所以基本上用括号将项目更改为链接。

2 个答案:

答案 0 :(得分:13)

使用此表达式:

var str = 'I like [dogs], [cats], and [birds]';
alert(str.replace(/\[(.+?)\]/g, '<a href="#">$1</a>'));
  • \[(.+?)\]要求文字[,懒洋洋地匹配并捕获任何内容,然后匹配文字]。替换为<a>标记中包含的捕获内容。

  • g修饰符表示全局替换,即查找并替换每个匹配而不仅仅是第一个匹配。

jsFiddle preview

答案 1 :(得分:6)

这是一个简单的字符串替换。

function tagIt(source)
{
  return source.replace('[', '<a href="#">').replace(']', '</a>');
}