如何同时替换字符和数字

时间:2011-09-25 13:53:37

标签: jquery regex character replace

我有一个类似于 - /celebrity.html#portfolios/jennifer-aniston-2006#img10

的字符串

我想删除#img10(也可以是#img6;确实是任何数字)。

我已使用此代码

var docLoc = document.location.href.replace("#img", '');
var docLoc2= docLoc.replace(/[0-9]+/,'');

当我记录docLoc2时,我得到/celebrity.html#portfolios/jennifer-aniston-

我真的想结合这两个替换函数,所以它一次完成所有,因此只删除#img10,我也写了这个:

var docLoc = document.location.href.replace("#img"+/[0-9]+/, '');

这不起作用(我认为语法错误)。

有人能为我提供解决方案吗?任何回复都非常感谢。

2 个答案:

答案 0 :(得分:4)

使用

var docLoc = document.location.href.replace(/#img[0-9]+$/, '');

http://refiddle.com/1bq

演示

更新:在表达式的末尾添加了$,只有匹配#img??(如果它位于字符串的末尾),如ŠimeVidas所建议的那样评论..


.replace MDN Docs适用于字符串或正则表达式。您尝试将两者结合使用错误的语法,如您所述。

答案 1 :(得分:0)

你的正则表达式可能就是这个

#img\d*