js 正则批量替换方法

zcyzzzm 2009-11-02 08:02:21
我想替换文章内容

将文章内容的所有的“感情”、“爱情”、“思恋”、“电话” 都替换成“http://www.baidu.com/s?wd=感情”、“http://www.baidu.com/s?wd=感情”、“http://www.baidu.com/s?wd=爱情”、“http://www.baidu.com/s?wd=思恋”、“http://www.baidu.com/s?wd=电话”

请问怎么js正则批量替换,谢谢
...全文
398 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzdiablo 2009-11-04
  • 打赏
  • 举报
回复
var str = "爱情66爱情88爱情99爱情5爱情55爱情rrrr";
var re = /(爱情|电话|思恋)/g;
var i = 0;
function func(a){return ++i==4?"http://www.baidu.com/s?wd=$1":a;}
str = str.replace(re,func);
alert(str);
friendly_ 2009-11-03
  • 打赏
  • 举报
回复

var str = "爱情66爱情88爱情99爱情5爱情55爱情rrrr";
var reg = /(?:爱情\d*){3}(.*)/g;
if (reg.test(str))
{
str = str.replace(/((?:爱情\d*){3})(.*)/g,"$1http://www.baidu.com/s?wd=$2");
}
alert(reg.test(str));
alert(str);
zcyzzzm 2009-11-02
  • 打赏
  • 举报
回复
结果变成“http://www.baidu.com/s?wd=爱情5爱情55爱情rrrr”
而不是要求的“爱情66爱情88爱情99http://www.baidu.com/s?wd=爱情5爱情55爱情rrrr”
zcyzzzm 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zcyzzzm 的回复:]

var str = "爱情66爱情88爱情99爱情5爱情55爱情rrrr";
var reg = /(?:爱情\d*){3}(.*)/g;
if (reg.test(str))
{
str = str.replace(/(?:爱情\d*){3}(.*)/g,"http://www.baidu.com/s?wd=$1");
}
alert(reg.test(str));
alert(str);

[/Quote]


这样好像将前4个一起替换了

friendly_ 2009-11-02
  • 打赏
  • 举报
回复

var str = "爱情66爱情88爱情99爱情5爱情55爱情rrrr";
var reg = /(?:爱情\d*){3}(.*)/g;
if (reg.test(str))
{
str = str.replace(/(?:爱情\d*){3}(.*)/g,"http://www.baidu.com/s?wd=$1");
}
alert(reg.test(str));
alert(str);
zcyzzzm 2009-11-02
  • 打赏
  • 举报
回复
已经处理好代码

var str = "爱情99999电话";
str = str.replace(/(爱情|电话|思恋)/g,"http://www.baidu.com/s?wd=$1");
alert(str)

另外问一下,能不能只替换第4个“爱情”,比如“爱情66爱情88爱情99爱情5爱情55爱情rrrr”替换为:
“爱情66爱情88爱情99http://www.baidu.com/s?wd=爱情5爱情55爱情rrrr”

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧