Answers:
尝试 .replace(/ /g,"_");
编辑:或者.split(' ').join('_')
如果您对RE厌恶
编辑:约翰·雷西格说:
如果您要通过静态搜索和静态替换来搜索和替换字符串,则使用.split(“ match”)。join(“ replace”)进行操作的速度更快,这似乎违反直觉,但可以正常工作在大多数现代浏览器中都是这样。(在下一版本的Firefox中,将进行一些更改以显着提高.replace(/ match / g,“ replace”)的性能-因此,前面的声明将不会持续很长时间。)
/ /g
使用/\ /g
-都可以使用Javascript。后者也可以在CoffeeScript中使用。
.replace(/ /g,"_");
速度比.split(' ').join('_')
。
我为此创建了JS性能测试http://jsperf.com/split-and-join-vs-replace2
我知道这很旧,但是我没有看到有人提到扩展String prototype
。
String.prototype.replaceAll = function(search, replace){
if(!search || !replace){return this;} //if search entry or replace entry empty return the string
return this.replace(new RegExp('[' + search + ']', 'g'), replace); //global RegEx search for all instances ("g") of your search entry and replace them all.
};