如何在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(" ");