首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Javascript中用replace()替换多个字符串

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

Stack Overflow用户
提问于 2009-08-14 21:08:36
回答 4查看 4.7K关注 0票数 3

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

我有这个:

代码语言:javascript
复制
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中得到的:

代码语言:javascript
复制
stormink.net/discussed/the-ideas-behind-my-redesign
stormink.net discussed/the-ideas-behind-my-redesign
["stormink.net", "discussed/the-ideas-behind-my-redesign"]

因此,出于某种原因,替换只发生了一次?我是否需要使用正则表达式来代替"/g“来使其重复?如果是这样,我该如何在Regex中指定'/‘呢?(我对如何使用Regex知之甚少)。

谢谢大家。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-08-14 21:16:35

当您使用字符串作为第一个参数时,replace方法仅替换第一个匹配项。您必须使用正则表达式来替换所有匹配项:

代码语言:javascript
复制
locationClean = location.replace(/\//g,' ');

(由于斜杠字符用于分隔正则表达式文字,因此需要使用反斜杠对表达式中的斜杠进行转义。)

那么,为什么不直接拆分“/”字符呢?

票数 3
EN

Stack Overflow用户

发布于 2009-08-14 21:14:26

使用模式而不是字符串,它可以与"global“修饰符一起使用

代码语言:javascript
复制
locationClean = location.replace(/\//g,' ');
票数 5
EN

Stack Overflow用户

发布于 2009-08-14 21:16:34

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

代码语言:javascript
复制
var loc =  location.host + location.pathname, // loc variable used for tesing
    locationArray = loc.split("/");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1280242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档