一个特别的正则表达式现在正在困扰我。我只是想在
这样的字符串中替换 range = 100var string = '...commonstringblabla<b>&range=100&</b>stringandsoon...';
带
...commonstringblabla<b>&range=400&</b>stringandsoon...
我成功地将“range = 100”-part与
匹配alert(string.match(/ range = 100 /));
但是当我尝试更换它时,
没有任何反应。该字符串仍然具有范围= 100。我怎样才能使它发挥作用?string.replace(/ range = 100 /,'range = 400');
答案 0 :(得分:5)
因为replace
不会修改它所应用的字符串,但会返回一个新字符串。
string = string.replace(/range=100/, 'range=400');
答案 1 :(得分:5)
string.replace不具有破坏性,意味着它不会改变它被调用的实例。
要执行此操作
string = string.replace("range=100","range=400");
答案 2 :(得分:2)
我会这样做:
string.replace(/([?&])range=100(?=&|$)/, '$1range=400')
如果它是一个URI参数,它只会替换range=100
(所以它在左侧由?
或&
分隔,右侧由&
或结尾分隔字符串)。
答案 3 :(得分:1)
只能写string.replace("range=100","range=400");
。
答案 4 :(得分:1)
我会这样做
string = string.replace(/\brange=100(?!\d)/, 'range=400');