Javascript replaceAll not working
Possible Duplicate:
Replacing all occurrences of a string in javascript?
我需要替换变量中的所有字符串。
1 2 3
| var a="::::::";
a = a.replace(":","hi");
alert(a); |
上面的代码只替换第一个字符串,即hi::::::。
我用了replaceAll,但没有用。
请引导我,谢谢
javascript中没有replaceAll:错误控制台可能报告了一个错误。
相反,使用/g(match globally)修饰符和replace的正则表达式参数:
1 2 3
| var a="::::::";
a = a.replace(/:/g,"hi");
alert(a); |
在mdn:string.replace(和其他地方)中包含。
- 为什么此代码不工作var a=":):):::"";a=a.replace(/:)/g,"hi");alert(a);
- @vishnuchid,因为/:)/g是无效的正则表达式文本(由于"多余"的右括号,它将导致语法错误)。改为试试/:\)/g。请阅读错误信息,并准确了解错误信息-"不工作"和"不工作"非常含糊。
- 我在/:&41;/g的参数列表后得到syntaxerror:missing,请提供帮助,我应该阅读关于使用斜杠的主题是什么??
- 正则表达式.info
- @vishnuchid /../是一个正则表达式文本-它类似于"字符串文本",但它创建了一个RegExp对象而不是string对象。
- 谢谢你的信息+1
- +1表示/g修饰语的含义!
javascript中没有replaceAll函数。
您可以使用带有全局标识符的regex,如pst的答案所示:
a.replace(/:/g,"hi");
有些人更喜欢的另一种选择是使用javascript的split和join函数,因为它消除了对正则表达式的需要:
1
| a.split(":").join("hi"); |
值得注意的是,第二种方法速度较慢。
- +1用于split解决方案。
- +1个用于拆分解决方案