如何在Javascript中用replace()替换多个字符串

如何在Javascript中用replace()替换多个字符串,javascript,jquery,url,replace,split,Javascript,Jquery,Url,Replace,Split,我猜这是一个简单的问题,但我只是在学习 我有这个: var location = (jQuery.url.attr("host"))+(jQuery.url.attr("path")); locationClean = location.replace('/',' '); locationArray = locationClean.split(" "); console.log(location); console.log(locationClean); console.log(locati

我猜这是一个简单的问题,但我只是在学习

我有这个:

var location = (jQuery.url.attr("host"))+(jQuery.url.attr("path"));
locationClean = location.replace('/',' ');

locationArray = locationClean.split(" ");

console.log(location);
console.log(locationClean);
console.log(locationArray);
以下是我从Firebug中得到的信息:

stormink.net/discussed/the-ideas-behind-my-redesign
stormink.net discussed/the-ideas-behind-my-redesign
["stormink.net", "discussed/the-ideas-behind-my-redesign"]
所以,出于某种原因,替换只发生一次?我是否需要将Regex与“/g”一起使用以使其重复?如果是这样,我将如何在正则表达式中指定“/”?(我对如何使用正则表达式知之甚少)


谢谢大家。

使用模式而不是字符串,您可以使用“全局”修饰符

您可以直接使用
/
字符作为分隔符:

var loc =  location.host + location.pathname, // loc variable used for tesing
    locationArray = loc.split("/");

当您使用字符串作为第一个参数时,replace方法仅替换第一个实例。必须使用正则表达式替换所有发生的事件:

locationClean = location.replace(/\//g,' ');
(由于斜杠字符用于分隔正则表达式文字,因此需要用反斜杠转义表达式中的斜杠。)


不过,为什么不只是在“/”字符上拆分呢?

这可以从javascript中修复

语法

stringObject.replace(findstring,newstring)
findstring:必需。指定要查找的字符串值。要执行全局搜索,请为此参数添加“g”标志;要执行不区分大小写的搜索,请添加“i”标志

新闻字符串:必需。指定要替换findstring中找到的值的字符串

下面是您的代码shud的样子:

locationClean = location.replace(new RegExp('/','g'),' ');
locationArray = locationClean.split(" ");

见鬼!我一问就知道了。。。对不起大家!不会再发生了。。。(希望如此)。然后回答你自己的问题。
locationClean = location.replace(new RegExp('/','g'),' ');
locationArray = locationClean.split(" ");